From 87a65c1993bfeab7f9994d8c81c3511e9ad13f8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Sun, 24 Sep 2023 15:30:59 +0200 Subject: [PATCH] vrclient: Allocate memory for every path conversion. CW-Bug-Id: #22729 --- vrclient_x64/gen_wrapper.py | 8 +- vrclient_x64/vrclient_x64/json_converter.cpp | 6 +- vrclient_x64/vrclient_x64/vrclient_main.c | 27 +++- vrclient_x64/vrclient_x64/vrclient_private.h | 3 +- .../vrclient_x64/winIVRApplications.c | 84 +++++------ vrclient_x64/vrclient_x64/winIVRCompositor.c | 24 +-- .../vrclient_x64/winIVRControlPanel.c | 12 +- vrclient_x64/vrclient_x64/winIVRInput.c | 36 ++--- vrclient_x64/vrclient_x64/winIVROverlay.c | 138 +++++++++--------- vrclient_x64/vrclient_x64/winIVRScreenshots.c | 30 ++-- 10 files changed, 192 insertions(+), 176 deletions(-) diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py index 944aa56a..83a3f82e 100755 --- a/vrclient_x64/gen_wrapper.py +++ b/vrclient_x64/gen_wrapper.py @@ -514,8 +514,7 @@ def handle_method_c(klass, method, winclassname, cppname, out): path_conv_wtou = PATH_CONV_METHODS_WTOU.get(f'{klass.spelling}_{method.spelling}', {}) for name in filter(lambda x: x in names, sorted(path_conv_wtou)): - out(f' char lin_{name}[PATH_MAX];\n') - out(f' vrclient_dos_path_to_unix_path({name}, lin_{name});\n') + out(f' const char *u_{name} = vrclient_dos_to_unix_path( {name} );\n') out(u' TRACE("%p\\n", _this);\n') @@ -533,7 +532,7 @@ def handle_method_c(klass, method, winclassname, cppname, out): def param_call(param, name): if name == '_this': return '_this->u_iface' - if name in path_conv_wtou: return f'{name} ? lin_{name} : NULL' + if name in path_conv_wtou: return f'u_{name}' return name params = ['_this'] + list(method.get_arguments()) @@ -547,6 +546,9 @@ def handle_method_c(klass, method, winclassname, cppname, out): out(u'_ret = ') out(f'vrclient_unix_path_to_dos_path(_ret, {name}, {name}, {conv["len"]});\n') + for name in filter(lambda x: x in names, sorted(path_conv_wtou)): + out(f' vrclient_free_path( u_{name} );\n') + if not returns_void: out(u' return _ret;\n') out(u'}\n\n') diff --git a/vrclient_x64/vrclient_x64/json_converter.cpp b/vrclient_x64/vrclient_x64/json_converter.cpp index b95cb3c0..fac49d29 100644 --- a/vrclient_x64/vrclient_x64/json_converter.cpp +++ b/vrclient_x64/vrclient_x64/json_converter.cpp @@ -115,10 +115,10 @@ char *json_convert_paths(const char *input) char *json_convert_startup_info(const char *startup_info) { - char dst_path[PATH_MAX]; std::string src_path; Json::Reader reader; Json::Value root; + char *dst_path; size_t len; char *ret; @@ -131,7 +131,7 @@ char *json_convert_startup_info(const char *startup_info) src_path = root["action_manifest_path"].asString(); WINE_TRACE("action_manifest_path %s.\n", src_path.c_str()); - if (!vrclient_dos_path_to_unix_path(src_path.c_str(), dst_path)) + if (!(dst_path = vrclient_dos_to_unix_path(src_path.c_str()))) { WINE_ERR("error converting path %s.\n", src_path.c_str()); return NULL; @@ -147,6 +147,8 @@ char *json_convert_startup_info(const char *startup_info) len = contents.copy(ret, contents.length()); ret[len] = 0; + vrclient_free_path(dst_path); + return ret; } diff --git a/vrclient_x64/vrclient_x64/vrclient_main.c b/vrclient_x64/vrclient_x64/vrclient_main.c index d678b63c..acb5d59a 100644 --- a/vrclient_x64/vrclient_x64/vrclient_main.c +++ b/vrclient_x64/vrclient_x64/vrclient_main.c @@ -95,13 +95,15 @@ unsigned int vrclient_unix_path_to_dos_path(bool api_result, const char *src, ch #define IS_ABSOLUTE(x) (*x == '/' || *x == '\\' || (*x && *(x + 1) == ':')) -/* returns non-zero on success, zero on failure */ -bool vrclient_dos_path_to_unix_path(const char *src, char *dst) +char *vrclient_dos_to_unix_path( const char *src ) { - *dst = 0; + char buffer[4096], *dst = buffer; + uint32_t len; - if(!src || !*src) - return 0; + if (!src) return NULL; + + *dst = 0; + if (!*src) goto done; if(IS_ABSOLUTE(src)){ /* absolute path, use wine conversion */ @@ -111,12 +113,12 @@ bool vrclient_dos_path_to_unix_path(const char *src, char *dst) r = MultiByteToWideChar(CP_UNIXCP, 0, src, -1, srcW, PATH_MAX); if(r == 0) - return 0; + return NULL; unix_path = wine_get_unix_file_name(srcW); if(!unix_path){ WARN("Unable to convert DOS filename to unix: %s\n", src); - return 0; + return NULL; } if (!realpath(unix_path, dst)) @@ -141,7 +143,16 @@ bool vrclient_dos_path_to_unix_path(const char *src, char *dst) *d = 0; } - return 1; +done: + len = strlen( buffer ); + if (!(dst = HeapAlloc( GetProcessHeap(), 0, len + 1 ))) return NULL; + memcpy( dst, buffer, len + 1 ); + return dst; +} + +void vrclient_free_path( const char *path ) +{ + HeapFree( GetProcessHeap(), 0, (char *)path ); } static BOOL array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, SIZE_T size) diff --git a/vrclient_x64/vrclient_x64/vrclient_private.h b/vrclient_x64/vrclient_x64/vrclient_private.h index d47087ff..284715d7 100644 --- a/vrclient_x64/vrclient_x64/vrclient_private.h +++ b/vrclient_x64/vrclient_x64/vrclient_private.h @@ -14,7 +14,8 @@ extern "C" { char *json_convert_paths(const char *input); char *json_convert_startup_info(const char *startup_info); -bool vrclient_dos_path_to_unix_path(const char *src, char *dst); +char *vrclient_dos_to_unix_path( const char *src ); +void vrclient_free_path( const char *path ); #if __cplusplus } diff --git a/vrclient_x64/vrclient_x64/winIVRApplications.c b/vrclient_x64/vrclient_x64/winIVRApplications.c index 2836c39b..2acbedcf 100644 --- a/vrclient_x64/vrclient_x64/winIVRApplications.c +++ b/vrclient_x64/vrclient_x64/winIVRApplications.c @@ -43,20 +43,20 @@ DEFINE_THISCALL_WRAPPER(winIVRApplications_IVRApplications_001_GetApplicationsTr EVRApplicationError __thiscall winIVRApplications_IVRApplications_001_AddApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath, bool bTemporary) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_001_AddApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL, bTemporary); + _ret = cppIVRApplications_IVRApplications_001_AddApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath, bTemporary); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } EVRApplicationError __thiscall winIVRApplications_IVRApplications_001_RemoveApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_001_RemoveApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL); + _ret = cppIVRApplications_IVRApplications_001_RemoveApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } @@ -329,20 +329,20 @@ DEFINE_THISCALL_WRAPPER(winIVRApplications_IVRApplications_002_IsQuitUserPromptR EVRApplicationError __thiscall winIVRApplications_IVRApplications_002_AddApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath, bool bTemporary) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_002_AddApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL, bTemporary); + _ret = cppIVRApplications_IVRApplications_002_AddApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath, bTemporary); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } EVRApplicationError __thiscall winIVRApplications_IVRApplications_002_RemoveApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_002_RemoveApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL); + _ret = cppIVRApplications_IVRApplications_002_RemoveApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } @@ -606,20 +606,20 @@ DEFINE_THISCALL_WRAPPER(winIVRApplications_IVRApplications_003_IsQuitUserPromptR EVRApplicationError __thiscall winIVRApplications_IVRApplications_003_AddApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath, bool bTemporary) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_003_AddApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL, bTemporary); + _ret = cppIVRApplications_IVRApplications_003_AddApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath, bTemporary); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } EVRApplicationError __thiscall winIVRApplications_IVRApplications_003_RemoveApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_003_RemoveApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL); + _ret = cppIVRApplications_IVRApplications_003_RemoveApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } @@ -895,20 +895,20 @@ DEFINE_THISCALL_WRAPPER(winIVRApplications_IVRApplications_004_LaunchInternalPro EVRApplicationError __thiscall winIVRApplications_IVRApplications_004_AddApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath, bool bTemporary) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_004_AddApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL, bTemporary); + _ret = cppIVRApplications_IVRApplications_004_AddApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath, bTemporary); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } EVRApplicationError __thiscall winIVRApplications_IVRApplications_004_RemoveApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_004_RemoveApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL); + _ret = cppIVRApplications_IVRApplications_004_RemoveApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } @@ -1205,20 +1205,20 @@ DEFINE_THISCALL_WRAPPER(winIVRApplications_IVRApplications_005_LaunchInternalPro EVRApplicationError __thiscall winIVRApplications_IVRApplications_005_AddApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath, bool bTemporary) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_005_AddApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL, bTemporary); + _ret = cppIVRApplications_IVRApplications_005_AddApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath, bTemporary); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } EVRApplicationError __thiscall winIVRApplications_IVRApplications_005_RemoveApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_005_RemoveApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL); + _ret = cppIVRApplications_IVRApplications_005_RemoveApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } @@ -1532,20 +1532,20 @@ DEFINE_THISCALL_WRAPPER(winIVRApplications_IVRApplications_006_GetCurrentScenePr EVRApplicationError __thiscall winIVRApplications_IVRApplications_006_AddApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath, bool bTemporary) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_006_AddApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL, bTemporary); + _ret = cppIVRApplications_IVRApplications_006_AddApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath, bTemporary); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } EVRApplicationError __thiscall winIVRApplications_IVRApplications_006_RemoveApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_006_RemoveApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL); + _ret = cppIVRApplications_IVRApplications_006_RemoveApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } @@ -1928,20 +1928,20 @@ DEFINE_THISCALL_WRAPPER(winIVRApplications_IVRApplications_007_GetCurrentScenePr EVRApplicationError __thiscall winIVRApplications_IVRApplications_007_AddApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath, bool bTemporary) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_007_AddApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL, bTemporary); + _ret = cppIVRApplications_IVRApplications_007_AddApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath, bTemporary); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } EVRApplicationError __thiscall winIVRApplications_IVRApplications_007_RemoveApplicationManifest(struct w_steam_iface *_this, const char *pchApplicationManifestFullPath) { EVRApplicationError _ret; - char lin_pchApplicationManifestFullPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchApplicationManifestFullPath, lin_pchApplicationManifestFullPath); + const char *u_pchApplicationManifestFullPath = vrclient_dos_to_unix_path( pchApplicationManifestFullPath ); TRACE("%p\n", _this); - _ret = cppIVRApplications_IVRApplications_007_RemoveApplicationManifest(_this->u_iface, pchApplicationManifestFullPath ? lin_pchApplicationManifestFullPath : NULL); + _ret = cppIVRApplications_IVRApplications_007_RemoveApplicationManifest(_this->u_iface, u_pchApplicationManifestFullPath); + vrclient_free_path( u_pchApplicationManifestFullPath ); return _ret; } diff --git a/vrclient_x64/vrclient_x64/winIVRCompositor.c b/vrclient_x64/vrclient_x64/winIVRCompositor.c index bdceb91c..1c51b194 100644 --- a/vrclient_x64/vrclient_x64/winIVRCompositor.c +++ b/vrclient_x64/vrclient_x64/winIVRCompositor.c @@ -123,10 +123,10 @@ void __thiscall winIVRCompositor_IVRCompositor_005_SetOverlayRaw(struct w_steam_ void __thiscall winIVRCompositor_IVRCompositor_005_SetOverlayFromFile(struct w_steam_iface *_this, const char *pchFilePath, Compositor_OverlaySettings *pSettings) { - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - cppIVRCompositor_IVRCompositor_005_SetOverlayFromFile(_this->u_iface, pchFilePath ? lin_pchFilePath : NULL, pSettings); + cppIVRCompositor_IVRCompositor_005_SetOverlayFromFile(_this->u_iface, u_pchFilePath, pSettings); + vrclient_free_path( u_pchFilePath ); } void __thiscall winIVRCompositor_IVRCompositor_005_ClearOverlay(struct w_steam_iface *_this) @@ -6614,10 +6614,10 @@ bool __thiscall winIVRCompositor_IVRCompositor_024_IsCurrentSceneFocusAppLoading EVRCompositorError __thiscall winIVRCompositor_IVRCompositor_024_SetStageOverride_Async(struct w_steam_iface *_this, const char *pchRenderModelPath, const HmdMatrix34_t *pTransform, const Compositor_StageRenderSettings *pRenderSettings, uint32_t nSizeOfRenderSettings) { EVRCompositorError _ret; - char lin_pchRenderModelPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchRenderModelPath, lin_pchRenderModelPath); + const char *u_pchRenderModelPath = vrclient_dos_to_unix_path( pchRenderModelPath ); TRACE("%p\n", _this); - _ret = cppIVRCompositor_IVRCompositor_024_SetStageOverride_Async(_this->u_iface, pchRenderModelPath ? lin_pchRenderModelPath : NULL, pTransform, pRenderSettings, nSizeOfRenderSettings); + _ret = cppIVRCompositor_IVRCompositor_024_SetStageOverride_Async(_this->u_iface, u_pchRenderModelPath, pTransform, pRenderSettings, nSizeOfRenderSettings); + vrclient_free_path( u_pchRenderModelPath ); return _ret; } @@ -7128,10 +7128,10 @@ bool __thiscall winIVRCompositor_IVRCompositor_026_IsCurrentSceneFocusAppLoading EVRCompositorError __thiscall winIVRCompositor_IVRCompositor_026_SetStageOverride_Async(struct w_steam_iface *_this, const char *pchRenderModelPath, const HmdMatrix34_t *pTransform, const Compositor_StageRenderSettings *pRenderSettings, uint32_t nSizeOfRenderSettings) { EVRCompositorError _ret; - char lin_pchRenderModelPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchRenderModelPath, lin_pchRenderModelPath); + const char *u_pchRenderModelPath = vrclient_dos_to_unix_path( pchRenderModelPath ); TRACE("%p\n", _this); - _ret = cppIVRCompositor_IVRCompositor_026_SetStageOverride_Async(_this->u_iface, pchRenderModelPath ? lin_pchRenderModelPath : NULL, pTransform, pRenderSettings, nSizeOfRenderSettings); + _ret = cppIVRCompositor_IVRCompositor_026_SetStageOverride_Async(_this->u_iface, u_pchRenderModelPath, pTransform, pRenderSettings, nSizeOfRenderSettings); + vrclient_free_path( u_pchRenderModelPath ); return _ret; } @@ -7678,10 +7678,10 @@ bool __thiscall winIVRCompositor_IVRCompositor_027_IsCurrentSceneFocusAppLoading EVRCompositorError __thiscall winIVRCompositor_IVRCompositor_027_SetStageOverride_Async(struct w_steam_iface *_this, const char *pchRenderModelPath, const HmdMatrix34_t *pTransform, const Compositor_StageRenderSettings *pRenderSettings, uint32_t nSizeOfRenderSettings) { EVRCompositorError _ret; - char lin_pchRenderModelPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchRenderModelPath, lin_pchRenderModelPath); + const char *u_pchRenderModelPath = vrclient_dos_to_unix_path( pchRenderModelPath ); TRACE("%p\n", _this); - _ret = cppIVRCompositor_IVRCompositor_027_SetStageOverride_Async(_this->u_iface, pchRenderModelPath ? lin_pchRenderModelPath : NULL, pTransform, pRenderSettings, nSizeOfRenderSettings); + _ret = cppIVRCompositor_IVRCompositor_027_SetStageOverride_Async(_this->u_iface, u_pchRenderModelPath, pTransform, pRenderSettings, nSizeOfRenderSettings); + vrclient_free_path( u_pchRenderModelPath ); return _ret; } diff --git a/vrclient_x64/vrclient_x64/winIVRControlPanel.c b/vrclient_x64/vrclient_x64/winIVRControlPanel.c index 1b3c538c..8b6716a9 100644 --- a/vrclient_x64/vrclient_x64/winIVRControlPanel.c +++ b/vrclient_x64/vrclient_x64/winIVRControlPanel.c @@ -210,10 +210,10 @@ void __thiscall winIVRControlPanel_IVRControlPanel_006_undoc22(struct w_steam_if bool __thiscall winIVRControlPanel_IVRControlPanel_006_undoc23(struct w_steam_iface *_this, const char *a) { bool _ret; - char lin_a[PATH_MAX]; - vrclient_dos_path_to_unix_path(a, lin_a); + const char *u_a = vrclient_dos_to_unix_path( a ); TRACE("%p\n", _this); - _ret = cppIVRControlPanel_IVRControlPanel_006_undoc23(_this->u_iface, a ? lin_a : NULL); + _ret = cppIVRControlPanel_IVRControlPanel_006_undoc23(_this->u_iface, u_a); + vrclient_free_path( u_a ); return _ret; } @@ -244,10 +244,10 @@ uint64_t __thiscall winIVRControlPanel_IVRControlPanel_006_undoc26(struct w_stea EVRCompositorError __thiscall winIVRControlPanel_IVRControlPanel_006_undoc27(struct w_steam_iface *_this, const char *a) { EVRCompositorError _ret; - char lin_a[PATH_MAX]; - vrclient_dos_path_to_unix_path(a, lin_a); + const char *u_a = vrclient_dos_to_unix_path( a ); TRACE("%p\n", _this); - _ret = cppIVRControlPanel_IVRControlPanel_006_undoc27(_this->u_iface, a ? lin_a : NULL); + _ret = cppIVRControlPanel_IVRControlPanel_006_undoc27(_this->u_iface, u_a); + vrclient_free_path( u_a ); return _ret; } diff --git a/vrclient_x64/vrclient_x64/winIVRInput.c b/vrclient_x64/vrclient_x64/winIVRInput.c index 6d5ca860..d2436e5b 100644 --- a/vrclient_x64/vrclient_x64/winIVRInput.c +++ b/vrclient_x64/vrclient_x64/winIVRInput.c @@ -39,10 +39,10 @@ DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_003_ShowBindingsForActionSet, 24) EVRInputError __thiscall winIVRInput_IVRInput_003_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath) { EVRInputError _ret; - char lin_pchActionManifestPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchActionManifestPath, lin_pchActionManifestPath); + const char *u_pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); - _ret = cppIVRInput_IVRInput_003_SetActionManifestPath(_this->u_iface, pchActionManifestPath ? lin_pchActionManifestPath : NULL); + _ret = cppIVRInput_IVRInput_003_SetActionManifestPath(_this->u_iface, u_pchActionManifestPath); + vrclient_free_path( u_pchActionManifestPath ); return _ret; } @@ -281,10 +281,10 @@ DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_004_ShowBindingsForActionSet, 24) EVRInputError __thiscall winIVRInput_IVRInput_004_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath) { EVRInputError _ret; - char lin_pchActionManifestPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchActionManifestPath, lin_pchActionManifestPath); + const char *u_pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); - _ret = cppIVRInput_IVRInput_004_SetActionManifestPath(_this->u_iface, pchActionManifestPath ? lin_pchActionManifestPath : NULL); + _ret = cppIVRInput_IVRInput_004_SetActionManifestPath(_this->u_iface, u_pchActionManifestPath); + vrclient_free_path( u_pchActionManifestPath ); return _ret; } @@ -534,10 +534,10 @@ DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_005_IsUsingLegacyInput, 4) EVRInputError __thiscall winIVRInput_IVRInput_005_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath) { EVRInputError _ret; - char lin_pchActionManifestPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchActionManifestPath, lin_pchActionManifestPath); + const char *u_pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); - _ret = cppIVRInput_IVRInput_005_SetActionManifestPath(_this->u_iface, pchActionManifestPath ? lin_pchActionManifestPath : NULL); + _ret = cppIVRInput_IVRInput_005_SetActionManifestPath(_this->u_iface, u_pchActionManifestPath); + vrclient_free_path( u_pchActionManifestPath ); return _ret; } @@ -858,10 +858,10 @@ DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_006_IsUsingLegacyInput, 4) EVRInputError __thiscall winIVRInput_IVRInput_006_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath) { EVRInputError _ret; - char lin_pchActionManifestPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchActionManifestPath, lin_pchActionManifestPath); + const char *u_pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); - _ret = cppIVRInput_IVRInput_006_SetActionManifestPath(_this->u_iface, pchActionManifestPath ? lin_pchActionManifestPath : NULL); + _ret = cppIVRInput_IVRInput_006_SetActionManifestPath(_this->u_iface, u_pchActionManifestPath); + vrclient_free_path( u_pchActionManifestPath ); return _ret; } @@ -1194,10 +1194,10 @@ DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_007_OpenBindingUI, 28) EVRInputError __thiscall winIVRInput_IVRInput_007_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath) { EVRInputError _ret; - char lin_pchActionManifestPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchActionManifestPath, lin_pchActionManifestPath); + const char *u_pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); - _ret = cppIVRInput_IVRInput_007_SetActionManifestPath(_this->u_iface, pchActionManifestPath ? lin_pchActionManifestPath : NULL); + _ret = cppIVRInput_IVRInput_007_SetActionManifestPath(_this->u_iface, u_pchActionManifestPath); + vrclient_free_path( u_pchActionManifestPath ); return _ret; } @@ -1554,10 +1554,10 @@ DEFINE_THISCALL_WRAPPER(winIVRInput_IVRInput_010_GetBindingVariant, 20) EVRInputError __thiscall winIVRInput_IVRInput_010_SetActionManifestPath(struct w_steam_iface *_this, const char *pchActionManifestPath) { EVRInputError _ret; - char lin_pchActionManifestPath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchActionManifestPath, lin_pchActionManifestPath); + const char *u_pchActionManifestPath = vrclient_dos_to_unix_path( pchActionManifestPath ); TRACE("%p\n", _this); - _ret = cppIVRInput_IVRInput_010_SetActionManifestPath(_this->u_iface, pchActionManifestPath ? lin_pchActionManifestPath : NULL); + _ret = cppIVRInput_IVRInput_010_SetActionManifestPath(_this->u_iface, u_pchActionManifestPath); + vrclient_free_path( u_pchActionManifestPath ); return _ret; } diff --git a/vrclient_x64/vrclient_x64/winIVROverlay.c b/vrclient_x64/vrclient_x64/winIVROverlay.c index 625c3ca7..b199b493 100644 --- a/vrclient_x64/vrclient_x64/winIVROverlay.c +++ b/vrclient_x64/vrclient_x64/winIVROverlay.c @@ -336,10 +336,10 @@ VROverlayError __thiscall winIVROverlay_IVROverlay_001_SetOverlayRaw(struct w_st VROverlayError __thiscall winIVROverlay_IVROverlay_001_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { VROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_001_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_001_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -834,10 +834,10 @@ VROverlayError __thiscall winIVROverlay_IVROverlay_002_SetOverlayRaw(struct w_st VROverlayError __thiscall winIVROverlay_IVROverlay_002_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { VROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_002_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_002_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -1372,10 +1372,10 @@ VROverlayError __thiscall winIVROverlay_IVROverlay_003_SetOverlayRaw(struct w_st VROverlayError __thiscall winIVROverlay_IVROverlay_003_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { VROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_003_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_003_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -1942,10 +1942,10 @@ VROverlayError __thiscall winIVROverlay_IVROverlay_004_SetOverlayRaw(struct w_st VROverlayError __thiscall winIVROverlay_IVROverlay_004_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { VROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_004_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_004_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -2528,10 +2528,10 @@ VROverlayError __thiscall winIVROverlay_IVROverlay_005_SetOverlayRaw(struct w_st VROverlayError __thiscall winIVROverlay_IVROverlay_005_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { VROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_005_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_005_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -3181,10 +3181,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_007_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_007_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_007_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_007_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -3863,10 +3863,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_008_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_008_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_008_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_008_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -4582,10 +4582,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_010_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_010_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_010_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_010_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -5335,10 +5335,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_011_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_011_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_011_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_011_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -6113,10 +6113,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_012_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_012_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_012_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_012_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -6938,10 +6938,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_013_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_013_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_013_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_013_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -7783,10 +7783,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_014_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_014_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_014_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_014_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -8694,10 +8694,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_016_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_016_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_016_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_016_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -9641,10 +9641,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_017_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_017_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_017_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_017_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -10583,10 +10583,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_018_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_018_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_018_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_018_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -11523,10 +11523,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_019_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_019_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_019_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_019_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -12445,10 +12445,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_020_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_020_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_020_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_020_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -13327,10 +13327,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_021_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_021_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_021_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_021_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -14271,10 +14271,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_022_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_022_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_022_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_022_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -15175,10 +15175,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_024_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_024_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_024_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_024_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -16080,10 +16080,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_025_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_025_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_025_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_025_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -17014,10 +17014,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_026_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_026_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_026_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_026_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } @@ -17936,10 +17936,10 @@ EVROverlayError __thiscall winIVROverlay_IVROverlay_027_SetOverlayRaw(struct w_s EVROverlayError __thiscall winIVROverlay_IVROverlay_027_SetOverlayFromFile(struct w_steam_iface *_this, VROverlayHandle_t ulOverlayHandle, const char *pchFilePath) { EVROverlayError _ret; - char lin_pchFilePath[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchFilePath, lin_pchFilePath); + const char *u_pchFilePath = vrclient_dos_to_unix_path( pchFilePath ); TRACE("%p\n", _this); - _ret = cppIVROverlay_IVROverlay_027_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, pchFilePath ? lin_pchFilePath : NULL); + _ret = cppIVROverlay_IVROverlay_027_SetOverlayFromFile(_this->u_iface, ulOverlayHandle, u_pchFilePath); + vrclient_free_path( u_pchFilePath ); return _ret; } diff --git a/vrclient_x64/vrclient_x64/winIVRScreenshots.c b/vrclient_x64/vrclient_x64/winIVRScreenshots.c index c7ef6014..873678cc 100644 --- a/vrclient_x64/vrclient_x64/winIVRScreenshots.c +++ b/vrclient_x64/vrclient_x64/winIVRScreenshots.c @@ -29,12 +29,12 @@ DEFINE_THISCALL_WRAPPER(winIVRScreenshots_IVRScreenshots_001_SubmitScreenshot, 2 EVRScreenshotError __thiscall winIVRScreenshots_IVRScreenshots_001_RequestScreenshot(struct w_steam_iface *_this, ScreenshotHandle_t *pOutScreenshotHandle, EVRScreenshotType type, const char *pchPreviewFilename, const char *pchVRFilename) { EVRScreenshotError _ret; - char lin_pchPreviewFilename[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchPreviewFilename, lin_pchPreviewFilename); - char lin_pchVRFilename[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchVRFilename, lin_pchVRFilename); + const char *u_pchPreviewFilename = vrclient_dos_to_unix_path( pchPreviewFilename ); + const char *u_pchVRFilename = vrclient_dos_to_unix_path( pchVRFilename ); TRACE("%p\n", _this); - _ret = cppIVRScreenshots_IVRScreenshots_001_RequestScreenshot(_this->u_iface, pOutScreenshotHandle, type, pchPreviewFilename ? lin_pchPreviewFilename : NULL, pchVRFilename ? lin_pchVRFilename : NULL); + _ret = cppIVRScreenshots_IVRScreenshots_001_RequestScreenshot(_this->u_iface, pOutScreenshotHandle, type, u_pchPreviewFilename, u_pchVRFilename); + vrclient_free_path( u_pchPreviewFilename ); + vrclient_free_path( u_pchVRFilename ); return _ret; } @@ -74,24 +74,24 @@ EVRScreenshotError __thiscall winIVRScreenshots_IVRScreenshots_001_UpdateScreens EVRScreenshotError __thiscall winIVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot(struct w_steam_iface *_this, ScreenshotHandle_t *pOutScreenshotHandle, const char *pchPreviewFilename, const char *pchVRFilename) { EVRScreenshotError _ret; - char lin_pchPreviewFilename[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchPreviewFilename, lin_pchPreviewFilename); - char lin_pchVRFilename[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchVRFilename, lin_pchVRFilename); + const char *u_pchPreviewFilename = vrclient_dos_to_unix_path( pchPreviewFilename ); + const char *u_pchVRFilename = vrclient_dos_to_unix_path( pchVRFilename ); TRACE("%p\n", _this); - _ret = cppIVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot(_this->u_iface, pOutScreenshotHandle, pchPreviewFilename ? lin_pchPreviewFilename : NULL, pchVRFilename ? lin_pchVRFilename : NULL); + _ret = cppIVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot(_this->u_iface, pOutScreenshotHandle, u_pchPreviewFilename, u_pchVRFilename); + vrclient_free_path( u_pchPreviewFilename ); + vrclient_free_path( u_pchVRFilename ); return _ret; } EVRScreenshotError __thiscall winIVRScreenshots_IVRScreenshots_001_SubmitScreenshot(struct w_steam_iface *_this, ScreenshotHandle_t screenshotHandle, EVRScreenshotType type, const char *pchSourcePreviewFilename, const char *pchSourceVRFilename) { EVRScreenshotError _ret; - char lin_pchSourcePreviewFilename[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchSourcePreviewFilename, lin_pchSourcePreviewFilename); - char lin_pchSourceVRFilename[PATH_MAX]; - vrclient_dos_path_to_unix_path(pchSourceVRFilename, lin_pchSourceVRFilename); + const char *u_pchSourcePreviewFilename = vrclient_dos_to_unix_path( pchSourcePreviewFilename ); + const char *u_pchSourceVRFilename = vrclient_dos_to_unix_path( pchSourceVRFilename ); TRACE("%p\n", _this); - _ret = cppIVRScreenshots_IVRScreenshots_001_SubmitScreenshot(_this->u_iface, screenshotHandle, type, pchSourcePreviewFilename ? lin_pchSourcePreviewFilename : NULL, pchSourceVRFilename ? lin_pchSourceVRFilename : NULL); + _ret = cppIVRScreenshots_IVRScreenshots_001_SubmitScreenshot(_this->u_iface, screenshotHandle, type, u_pchSourcePreviewFilename, u_pchSourceVRFilename); + vrclient_free_path( u_pchSourcePreviewFilename ); + vrclient_free_path( u_pchSourceVRFilename ); return _ret; }