summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/winutil.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2016-03-14 19:22:10 +1100
committer Vas Crabb <vas@vastheman.com>2016-03-14 19:22:10 +1100
commit34d7850c1e507aab5a7dbc4cb410433fa68403e3 (patch)
treea60bea84f52d398b3a66fb894bafde6e13f6e33b /src/osd/windows/winutil.cpp
parentb6ea568352dd4c67809fd91f2632dbc614c0222e (diff)
More fix, and fix a memory leak, too
Diffstat (limited to 'src/osd/windows/winutil.cpp')
-rw-r--r--src/osd/windows/winutil.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/osd/windows/winutil.cpp b/src/osd/windows/winutil.cpp
index ff162c9169a..607699749bb 100644
--- a/src/osd/windows/winutil.cpp
+++ b/src/osd/windows/winutil.cpp
@@ -89,13 +89,16 @@ BOOL win_is_gui_application(void)
//============================================================
// osd_subst_env
//============================================================
-void osd_subst_env(char **dst, const char *src)
+void osd_subst_env(std::string &dst, const std::string &src)
{
TCHAR buffer[MAX_PATH];
- TCHAR *t_src = tstring_from_utf8(src);
+ TCHAR *t_src = tstring_from_utf8(src.c_str());
ExpandEnvironmentStrings(t_src, buffer, ARRAY_LENGTH(buffer));
- *dst = utf8_from_tstring(buffer);
+ osd_free(t_src);
+ char *cnv = utf8_from_tstring(buffer);
+ dst = cnv;
+ osd_free(cnv);
}
//-------------------------------------------------