summaryrefslogtreecommitdiff
path: root/src/gui_w32.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui_w32.c')
-rw-r--r--src/gui_w32.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 8574b63fa..35c1790b4 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -3627,7 +3627,7 @@ gui_mch_browseW(
WCHAR *extp = NULL;
WCHAR *initdirp = NULL;
WCHAR *filterp;
- char_u *p;
+ char_u *p, *q;
if (dflt == NULL)
fileBuf[0] = NUL;
@@ -3713,16 +3713,16 @@ gui_mch_browseW(
/* Convert from UCS2 to 'encoding'. */
p = utf16_to_enc(fileBuf, NULL);
- if (p != NULL)
- /* when out of memory we get garbage for non-ASCII chars */
- STRCPY(fileBuf, p);
- vim_free(p);
+ if (p == NULL)
+ return NULL;
/* Give focus back to main window (when using MDI). */
SetFocus(s_hwnd);
/* Shorten the file name if possible */
- return vim_strsave(shorten_fname1((char_u *)fileBuf));
+ q = vim_strsave(shorten_fname1(p));
+ vim_free(p);
+ return q;
}
# endif /* FEAT_MBYTE */