diff options
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 |
commit | 34d7850c1e507aab5a7dbc4cb410433fa68403e3 (patch) | |
tree | a60bea84f52d398b3a66fb894bafde6e13f6e33b /src/osd/windows/winutil.cpp | |
parent | b6ea568352dd4c67809fd91f2632dbc614c0222e (diff) |
More fix, and fix a memory leak, too
Diffstat (limited to 'src/osd/windows/winutil.cpp')
-rw-r--r-- | src/osd/windows/winutil.cpp | 9 |
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); } //------------------------------------------------- |