From e876ae06a2aa8d5d4b1473fb1442d5d50f8269fd Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Fri, 25 Mar 2016 00:53:13 +0300 Subject: [PATCH] Fixed ANSI-C compatibility in lj_fopen.c --- src/lj_fopen.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/lj_fopen.c b/src/lj_fopen.c index 4906a996..846a482e 100644 --- a/src/lj_fopen.c +++ b/src/lj_fopen.c @@ -7,16 +7,18 @@ FILE *_lua_fopen(const char *filename, const char *mode) { - int fn_len_s=strlen(filename); + int new_Len1 = 0; + int new_Len2 = 0; + int fn_len_s = strlen(filename); + int m_len_s = strlen(mode); if(fn_len_s==0) return NULL; - int m_len_s=strlen(mode); if(m_len_s==0) return NULL; wchar_t path[MAX_PATH]; wchar_t wmode[MAX_PATH]; - int new_Len1 = MultiByteToWideChar(CP_UTF8, 0, filename, fn_len_s, path, fn_len_s); + new_Len1 = MultiByteToWideChar(CP_UTF8, 0, filename, fn_len_s, path, fn_len_s); if(new_Len1>=MAX_PATH) return NULL; path[new_Len1] = L'\0'; - int new_Len2 = MultiByteToWideChar(CP_UTF8, 0, mode, m_len_s, wmode, m_len_s); + new_Len2 = MultiByteToWideChar(CP_UTF8, 0, mode, m_len_s, wmode, m_len_s); if(new_Len2>=MAX_PATH) return NULL; wmode[new_Len2] = L'\0'; FILE *f = _wfopen(path, wmode); @@ -25,21 +27,21 @@ FILE *_lua_fopen(const char *filename, const char *mode) FILE *_lua_freopen(const char *filename, const char *mode, FILE * oldfile) { - int fn_len_s=strlen(filename); + int new_Len1 = 0; + int new_Len2 = 0; + int fn_len_s = strlen(filename); + int m_len_s = strlen(mode); if(fn_len_s==0) return NULL; - int m_len_s=strlen(filename); if(m_len_s==0) return NULL; wchar_t path[MAX_PATH]; wchar_t wmode[MAX_PATH]; - int new_Len1 = MultiByteToWideChar(CP_UTF8, 0, filename, fn_len_s, path, fn_len_s); + new_Len1 = MultiByteToWideChar(CP_UTF8, 0, filename, fn_len_s, path, fn_len_s); if(new_Len1>=MAX_PATH) return NULL; path[new_Len1] = L'\0'; - int new_Len2 = MultiByteToWideChar(CP_UTF8, 0, mode, m_len_s, wmode, m_len_s); + new_Len2 = MultiByteToWideChar(CP_UTF8, 0, mode, m_len_s, wmode, m_len_s); if(new_Len2>=MAX_PATH) return NULL; wmode[new_Len2] = L'\0'; FILE *f = _wfreopen(path, wmode, oldfile); - LocalFree(path); - LocalFree(wmode); return f; }