From b65d13605c44acea95b5e6fd222c9a7aecaccc00 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 25 Feb 2004 01:35:01 +0000 Subject: [PATCH] Fixed callers of GetLocaleInfoW to use the correct buffer size. --- dlls/kernel/locale.c | 12 ++++++------ dlls/oleaut32/variant.c | 4 ++-- dlls/wineps/init.c | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dlls/kernel/locale.c b/dlls/kernel/locale.c index 0f35f519068..d1c4a845bee 100644 --- a/dlls/kernel/locale.c +++ b/dlls/kernel/locale.c @@ -143,8 +143,8 @@ static const char *debugstr_lang( LANGID lang ) char buffer[8]; LCID lcid = MAKELCID( lang, SORT_DEFAULT ); - GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME|LOCALE_NOUSEROVERRIDE, langW, sizeof(langW)); - GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME|LOCALE_NOUSEROVERRIDE, countryW, sizeof(countryW)); + GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME|LOCALE_NOUSEROVERRIDE, langW, sizeof(langW)/sizeof(WCHAR)); + GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME|LOCALE_NOUSEROVERRIDE, countryW, sizeof(countryW)/sizeof(WCHAR)); strcpyWtoA( buffer, langW ); strcat( buffer, "_" ); strcpyWtoA( buffer + strlen(buffer), countryW ); @@ -322,9 +322,9 @@ static BOOL CALLBACK find_language_id_proc( HMODULE hModule, LPCWSTR type, buf_country[0] = 0; GetLocaleInfoW(lcid, LOCALE_SISO639LANGNAME|LOCALE_NOUSEROVERRIDE, - buf_language, sizeof(buf_language)); + buf_language, sizeof(buf_language)/sizeof(WCHAR)); GetLocaleInfoW(lcid, LOCALE_SISO3166CTRYNAME|LOCALE_NOUSEROVERRIDE, - buf_country, sizeof(buf_country)); + buf_country, sizeof(buf_country)/sizeof(WCHAR)); if(l_data->lang[0] && !strcmpiW(l_data->lang, buf_language)) { @@ -347,7 +347,7 @@ static BOOL CALLBACK find_language_id_proc( HMODULE hModule, LPCWSTR type, */ buf_en_language[0] = 0; GetLocaleInfoW(lcid, LOCALE_SENGLANGUAGE|LOCALE_NOUSEROVERRIDE, - buf_en_language, sizeof(buf_en_language)); + buf_en_language, sizeof(buf_en_language)/sizeof(WCHAR)); if(l_data->lang[0] && !strcmpiW(l_data->lang, buf_en_language)) goto found; return TRUE; /* not found, continue search */ @@ -438,7 +438,7 @@ static LANGID get_language_id(LPCSTR Lang, LPCSTR Country, LPCSTR Charset, LPCST WCHAR buffW[128]; char buffA[128]; GetLocaleInfoW( MAKELCID( l_data.found_lang_id[i], SORT_DEFAULT ), - LOCALE_SLANGUAGE|LOCALE_NOUSEROVERRIDE, buffW, sizeof(buffW)); + LOCALE_SLANGUAGE|LOCALE_NOUSEROVERRIDE, buffW, sizeof(buffW)/sizeof(WCHAR)); strcpyWtoA( buffA, buffW ); MESSAGE( " %s (%04X) - %s\n", debugstr_lang(l_data.found_lang_id[i]), l_data.found_lang_id[i], buffA ); diff --git a/dlls/oleaut32/variant.c b/dlls/oleaut32/variant.c index a5177ac281e..7ee3cfcae73 100644 --- a/dlls/oleaut32/variant.c +++ b/dlls/oleaut32/variant.c @@ -1428,7 +1428,7 @@ HRESULT WINAPI VarUdateFromDate(DATE dateIn, ULONG dwFlags, UDATE *lpUdate) #define GET_NUMBER_TEXT(fld,name) \ buff[0] = 0; \ - if (!GetLocaleInfoW(lcid, lctype|fld, buff, sizeof(WCHAR) * 2)) \ + if (!GetLocaleInfoW(lcid, lctype|fld, buff, 2)) \ WARN("buffer too small for " #fld "\n"); \ else \ if (buff[0]) lpChars->name = buff[0]; \ @@ -1451,7 +1451,7 @@ void VARIANT_GetLocalisedNumberChars(VARIANT_NUMBER_CHARS *lpChars, LCID lcid, D /* Local currency symbols are often 2 characters */ lpChars->cCurrencyLocal2 = '\0'; - switch(GetLocaleInfoW(lcid, lctype|LOCALE_SCURRENCY, buff, sizeof(WCHAR) * 4)) + switch(GetLocaleInfoW(lcid, lctype|LOCALE_SCURRENCY, buff, sizeof(buff)/sizeof(WCHAR))) { case 3: lpChars->cCurrencyLocal2 = buff[1]; /* Fall through */ case 2: lpChars->cCurrencyLocal = buff[0]; diff --git a/dlls/wineps/init.c b/dlls/wineps/init.c index 9eea5e60107..a2f917a04d7 100644 --- a/dlls/wineps/init.c +++ b/dlls/wineps/init.c @@ -652,7 +652,7 @@ PRINTERINFO *PSDRV_FindPrinterInfo(LPCSTR name) DWORD papersize; if(GetLocaleInfoW(LOCALE_USER_DEFAULT, LOCALE_IPAPERSIZE | LOCALE_RETURN_NUMBER, - (LPWSTR)&papersize, sizeof(papersize))) { + (LPWSTR)&papersize, sizeof(papersize)/sizeof(WCHAR))) { PSDRV_DEVMODEA dm; memset(&dm, 0, sizeof(dm)); dm.dmPublic.dmFields = DM_PAPERSIZE; -- 2.11.4.GIT