- Fixed some wchar to char translations.

svn path=/trunk/; revision=10751
This commit is contained in:
Hartmut Birr 2004-08-31 14:40:50 +00:00
parent d4aa975e56
commit b50ad1e5ec
2 changed files with 7 additions and 7 deletions

View file

@ -1,4 +1,4 @@
/* $Id: environ.c,v 1.10 2004/08/27 03:08:23 navaraf Exp $ /* $Id: environ.c,v 1.11 2004/08/31 14:40:50 hbirr Exp $
* *
* dllmain.c * dllmain.c
* *
@ -232,7 +232,7 @@ int SetEnv(const wchar_t *option)
} }
/* Create a copy of the option name. */ /* Create a copy of the option name. */
name = malloc(epos - option + 1); name = malloc((epos - option + 1) * sizeof(wchar_t));
if (name == NULL) if (name == NULL)
return -1; return -1;
memcpy(name, option, (epos - option) * sizeof(wchar_t)); memcpy(name, option, (epos - option) * sizeof(wchar_t));
@ -285,7 +285,7 @@ int SetEnv(const wchar_t *option)
} }
/* Create a multibyte copy of the option. */ /* Create a multibyte copy of the option. */
size = WideCharToMultiByte(CP_ACP, 0, option, 0, NULL, 0, NULL, NULL); size = WideCharToMultiByte(CP_ACP, 0, option, -1, NULL, 0, NULL, NULL);
mboption = malloc(size); mboption = malloc(size);
if (mboption == NULL) if (mboption == NULL)
{ {
@ -293,7 +293,7 @@ int SetEnv(const wchar_t *option)
free(woption); free(woption);
return -1; return -1;
} }
WideCharToMultiByte(CP_ACP, 0, option, 0, mboption, size, NULL, NULL); WideCharToMultiByte(CP_ACP, 0, option, -1, mboption, size, NULL, NULL);
if (found) if (found)
{ {

View file

@ -16,11 +16,11 @@ int _putenv(const char* val)
int size, result; int size, result;
wchar_t *woption; wchar_t *woption;
size = MultiByteToWideChar(CP_ACP, 0, val, 0, NULL, 0); size = MultiByteToWideChar(CP_ACP, 0, val, -1, NULL, 0);
woption = malloc(size); woption = malloc(size* sizeof(wchar_t));
if (woption == NULL) if (woption == NULL)
return -1; return -1;
MultiByteToWideChar(CP_ACP, 0, val, 0, woption, size); MultiByteToWideChar(CP_ACP, 0, val, -1, woption, size);
result = SetEnv(woption); result = SetEnv(woption);
free(woption); free(woption);
return result; return result;