mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 14:44:39 +00:00
kernel32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c9329d6898
commit
fe70e0e58f
|
@ -540,7 +540,7 @@ static WCHAR netbios_char ( WCHAR wc )
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
if ( isalnumW ( wc ) ) return wc;
|
if ( isalnumW ( wc ) ) return wc;
|
||||||
for ( i = 0; i < sizeof (special) / sizeof (WCHAR); i++ )
|
for ( i = 0; i < ARRAY_SIZE( special ); i++ )
|
||||||
if ( wc == special[i] ) return wc;
|
if ( wc == special[i] ) return wc;
|
||||||
return deflt;
|
return deflt;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1156,7 +1156,7 @@ static enum read_console_input_return bare_console_fetch_input(HANDLE handle, in
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
/* we haven't found the string into key-db, push full input string into server */
|
/* we haven't found the string into key-db, push full input string into server */
|
||||||
idxw = MultiByteToWideChar(CP_UNIXCP, 0, input, idx, inputw, sizeof(inputw) / sizeof(inputw[0]));
|
idxw = MultiByteToWideChar(CP_UNIXCP, 0, input, idx, inputw, ARRAY_SIZE(inputw));
|
||||||
|
|
||||||
/* we cannot translate yet... likely we need more chars (wait max 1/2s for next char) */
|
/* we cannot translate yet... likely we need more chars (wait max 1/2s for next char) */
|
||||||
if (idxw == 0)
|
if (idxw == 0)
|
||||||
|
@ -1831,7 +1831,7 @@ BOOL WINAPI SetConsoleInputExeNameW(LPCWSTR name)
|
||||||
}
|
}
|
||||||
|
|
||||||
RtlEnterCriticalSection(&CONSOLE_CritSect);
|
RtlEnterCriticalSection(&CONSOLE_CritSect);
|
||||||
if (strlenW(name) < sizeof(input_exe)/sizeof(WCHAR)) strcpyW(input_exe, name);
|
if (strlenW(name) < ARRAY_SIZE(input_exe)) strcpyW(input_exe, name);
|
||||||
RtlLeaveCriticalSection(&CONSOLE_CritSect);
|
RtlLeaveCriticalSection(&CONSOLE_CritSect);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -1513,7 +1513,7 @@ HANDLE WINAPI CreateFileW( LPCWSTR filename, DWORD access, DWORD sharing,
|
||||||
static const WCHAR conW[] = {'C','O','N'};
|
static const WCHAR conW[] = {'C','O','N'};
|
||||||
|
|
||||||
if (LOWORD(dosdev) == sizeof(conW) &&
|
if (LOWORD(dosdev) == sizeof(conW) &&
|
||||||
!memicmpW( filename + HIWORD(dosdev)/sizeof(WCHAR), conW, sizeof(conW)/sizeof(WCHAR)))
|
!memicmpW( filename + HIWORD(dosdev)/sizeof(WCHAR), conW, ARRAY_SIZE( conW )))
|
||||||
{
|
{
|
||||||
switch (access & (GENERIC_READ|GENERIC_WRITE))
|
switch (access & (GENERIC_READ|GENERIC_WRITE))
|
||||||
{
|
{
|
||||||
|
|
|
@ -104,7 +104,7 @@ static DWORD NLS_GetLocaleNumber(LCID lcid, DWORD dwFlags)
|
||||||
DWORD dwVal = 0;
|
DWORD dwVal = 0;
|
||||||
|
|
||||||
szBuff[0] = '\0';
|
szBuff[0] = '\0';
|
||||||
GetLocaleInfoW(lcid, dwFlags, szBuff, sizeof(szBuff) / sizeof(WCHAR));
|
GetLocaleInfoW(lcid, dwFlags, szBuff, ARRAY_SIZE(szBuff));
|
||||||
|
|
||||||
if (szBuff[0] && szBuff[1] == ';' && szBuff[2] != '0')
|
if (szBuff[0] && szBuff[1] == ';' && szBuff[2] != '0')
|
||||||
dwVal = (szBuff[0] - '0') * 10 + (szBuff[2] - '0');
|
dwVal = (szBuff[0] - '0') * 10 + (szBuff[2] - '0');
|
||||||
|
@ -129,7 +129,7 @@ static WCHAR* NLS_GetLocaleString(LCID lcid, DWORD dwFlags)
|
||||||
DWORD dwLen;
|
DWORD dwLen;
|
||||||
|
|
||||||
szBuff[0] = '\0';
|
szBuff[0] = '\0';
|
||||||
GetLocaleInfoW(lcid, dwFlags, szBuff, sizeof(szBuff) / sizeof(WCHAR));
|
GetLocaleInfoW(lcid, dwFlags, szBuff, ARRAY_SIZE(szBuff));
|
||||||
dwLen = strlenW(szBuff) + 1;
|
dwLen = strlenW(szBuff) + 1;
|
||||||
str = HeapAlloc(GetProcessHeap(), 0, dwLen * sizeof(WCHAR));
|
str = HeapAlloc(GetProcessHeap(), 0, dwLen * sizeof(WCHAR));
|
||||||
if (str)
|
if (str)
|
||||||
|
@ -258,7 +258,7 @@ static const NLS_FORMAT_NODE *NLS_GetFormats(LCID lcid, DWORD dwFlags)
|
||||||
GET_LOCALE_STRING(new_node->cyfmt.lpCurrencySymbol, LOCALE_SCURRENCY);
|
GET_LOCALE_STRING(new_node->cyfmt.lpCurrencySymbol, LOCALE_SCURRENCY);
|
||||||
|
|
||||||
/* Date/Time Format info, negative character, etc */
|
/* Date/Time Format info, negative character, etc */
|
||||||
for (i = 0; i < sizeof(NLS_LocaleIndices)/sizeof(NLS_LocaleIndices[0]); i++)
|
for (i = 0; i < ARRAY_SIZE(NLS_LocaleIndices); i++)
|
||||||
{
|
{
|
||||||
GET_LOCALE_STRING(new_node->lppszStrings[i], NLS_LocaleIndices[i]);
|
GET_LOCALE_STRING(new_node->lppszStrings[i], NLS_LocaleIndices[i]);
|
||||||
}
|
}
|
||||||
|
@ -302,7 +302,7 @@ static const NLS_FORMAT_NODE *NLS_GetFormats(LCID lcid, DWORD dwFlags)
|
||||||
/* We raced and lost: The node was already added by another thread.
|
/* We raced and lost: The node was already added by another thread.
|
||||||
* node points to the currently cached node, so free new_node.
|
* node points to the currently cached node, so free new_node.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < sizeof(NLS_LocaleIndices)/sizeof(NLS_LocaleIndices[0]); i++)
|
for (i = 0; i < ARRAY_SIZE(NLS_LocaleIndices); i++)
|
||||||
HeapFree(GetProcessHeap(), 0, new_node->lppszStrings[i]);
|
HeapFree(GetProcessHeap(), 0, new_node->lppszStrings[i]);
|
||||||
HeapFree(GetProcessHeap(), 0, new_node->fmt.lpDecimalSep);
|
HeapFree(GetProcessHeap(), 0, new_node->fmt.lpDecimalSep);
|
||||||
HeapFree(GetProcessHeap(), 0, new_node->fmt.lpThousandSep);
|
HeapFree(GetProcessHeap(), 0, new_node->fmt.lpThousandSep);
|
||||||
|
@ -677,7 +677,7 @@ static INT NLS_GetDateTimeFormatW(LCID lcid, DWORD dwFlags,
|
||||||
{
|
{
|
||||||
static const WCHAR fmtW[] = {'%','.','*','d',0};
|
static const WCHAR fmtW[] = {'%','.','*','d',0};
|
||||||
/* We have a numeric value to add */
|
/* We have a numeric value to add */
|
||||||
snprintfW(buff, sizeof(buff)/sizeof(WCHAR), fmtW, count, dwVal);
|
snprintfW(buff, ARRAY_SIZE(buff), fmtW, count, dwVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
dwLen = szAdd ? strlenW(szAdd) : 0;
|
dwLen = szAdd ? strlenW(szAdd) : 0;
|
||||||
|
@ -773,10 +773,10 @@ static INT NLS_GetDateTimeFormatA(LCID lcid, DWORD dwFlags,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lpFormat)
|
if (lpFormat)
|
||||||
MultiByteToWideChar(cp, 0, lpFormat, -1, szFormat, sizeof(szFormat)/sizeof(WCHAR));
|
MultiByteToWideChar(cp, 0, lpFormat, -1, szFormat, ARRAY_SIZE(szFormat));
|
||||||
|
|
||||||
if (cchOut > (int)(sizeof(szOut)/sizeof(WCHAR)))
|
if (cchOut > (int) ARRAY_SIZE(szOut))
|
||||||
cchOut = sizeof(szOut)/sizeof(WCHAR);
|
cchOut = ARRAY_SIZE(szOut);
|
||||||
|
|
||||||
szOut[0] = '\0';
|
szOut[0] = '\0';
|
||||||
|
|
||||||
|
@ -1063,21 +1063,21 @@ INT WINAPI GetNumberFormatA(LCID lcid, DWORD dwFlags,
|
||||||
pfmt = &fmt;
|
pfmt = &fmt;
|
||||||
if (lpFormat->lpDecimalSep)
|
if (lpFormat->lpDecimalSep)
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(cp, 0, lpFormat->lpDecimalSep, -1, szDec, sizeof(szDec)/sizeof(WCHAR));
|
MultiByteToWideChar(cp, 0, lpFormat->lpDecimalSep, -1, szDec, ARRAY_SIZE(szDec));
|
||||||
fmt.lpDecimalSep = szDec;
|
fmt.lpDecimalSep = szDec;
|
||||||
}
|
}
|
||||||
if (lpFormat->lpThousandSep)
|
if (lpFormat->lpThousandSep)
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(cp, 0, lpFormat->lpThousandSep, -1, szGrp, sizeof(szGrp)/sizeof(WCHAR));
|
MultiByteToWideChar(cp, 0, lpFormat->lpThousandSep, -1, szGrp, ARRAY_SIZE(szGrp));
|
||||||
fmt.lpThousandSep = szGrp;
|
fmt.lpThousandSep = szGrp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lpszValue)
|
if (lpszValue)
|
||||||
MultiByteToWideChar(cp, 0, lpszValue, -1, szIn, sizeof(szIn)/sizeof(WCHAR));
|
MultiByteToWideChar(cp, 0, lpszValue, -1, szIn, ARRAY_SIZE(szIn));
|
||||||
|
|
||||||
if (cchOut > (int)(sizeof(szOut)/sizeof(WCHAR)))
|
if (cchOut > (int) ARRAY_SIZE(szOut))
|
||||||
cchOut = sizeof(szOut)/sizeof(WCHAR);
|
cchOut = ARRAY_SIZE(szOut);
|
||||||
|
|
||||||
szOut[0] = '\0';
|
szOut[0] = '\0';
|
||||||
|
|
||||||
|
@ -1112,7 +1112,7 @@ INT WINAPI GetNumberFormatW(LCID lcid, DWORD dwFlags,
|
||||||
LPCWSTR lpszValue, const NUMBERFMTW *lpFormat,
|
LPCWSTR lpszValue, const NUMBERFMTW *lpFormat,
|
||||||
LPWSTR lpNumberStr, int cchOut)
|
LPWSTR lpNumberStr, int cchOut)
|
||||||
{
|
{
|
||||||
WCHAR szBuff[128], *szOut = szBuff + sizeof(szBuff) / sizeof(WCHAR) - 1;
|
WCHAR szBuff[128], *szOut = szBuff + ARRAY_SIZE(szBuff) - 1;
|
||||||
WCHAR szNegBuff[8];
|
WCHAR szNegBuff[8];
|
||||||
const WCHAR *lpszNeg = NULL, *lpszNegStart, *szSrc;
|
const WCHAR *lpszNeg = NULL, *lpszNegStart, *szSrc;
|
||||||
DWORD dwState = 0, dwDecimals = 0, dwGroupCount = 0, dwCurrentGroupCount = 0;
|
DWORD dwState = 0, dwDecimals = 0, dwGroupCount = 0, dwCurrentGroupCount = 0;
|
||||||
|
@ -1140,7 +1140,7 @@ INT WINAPI GetNumberFormatW(LCID lcid, DWORD dwFlags,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GetLocaleInfoW(lcid, LOCALE_SNEGATIVESIGN|(dwFlags & LOCALE_NOUSEROVERRIDE),
|
GetLocaleInfoW(lcid, LOCALE_SNEGATIVESIGN|(dwFlags & LOCALE_NOUSEROVERRIDE),
|
||||||
szNegBuff, sizeof(szNegBuff)/sizeof(WCHAR));
|
szNegBuff, ARRAY_SIZE(szNegBuff));
|
||||||
lpszNegStart = lpszNeg = szNegBuff;
|
lpszNegStart = lpszNeg = szNegBuff;
|
||||||
}
|
}
|
||||||
lpszNeg = lpszNeg + strlenW(lpszNeg) - 1;
|
lpszNeg = lpszNeg + strlenW(lpszNeg) - 1;
|
||||||
|
@ -1427,26 +1427,26 @@ INT WINAPI GetCurrencyFormatA(LCID lcid, DWORD dwFlags,
|
||||||
pfmt = &fmt;
|
pfmt = &fmt;
|
||||||
if (lpFormat->lpDecimalSep)
|
if (lpFormat->lpDecimalSep)
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(cp, 0, lpFormat->lpDecimalSep, -1, szDec, sizeof(szDec)/sizeof(WCHAR));
|
MultiByteToWideChar(cp, 0, lpFormat->lpDecimalSep, -1, szDec, ARRAY_SIZE(szDec));
|
||||||
fmt.lpDecimalSep = szDec;
|
fmt.lpDecimalSep = szDec;
|
||||||
}
|
}
|
||||||
if (lpFormat->lpThousandSep)
|
if (lpFormat->lpThousandSep)
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(cp, 0, lpFormat->lpThousandSep, -1, szGrp, sizeof(szGrp)/sizeof(WCHAR));
|
MultiByteToWideChar(cp, 0, lpFormat->lpThousandSep, -1, szGrp, ARRAY_SIZE(szGrp));
|
||||||
fmt.lpThousandSep = szGrp;
|
fmt.lpThousandSep = szGrp;
|
||||||
}
|
}
|
||||||
if (lpFormat->lpCurrencySymbol)
|
if (lpFormat->lpCurrencySymbol)
|
||||||
{
|
{
|
||||||
MultiByteToWideChar(cp, 0, lpFormat->lpCurrencySymbol, -1, szCy, sizeof(szCy)/sizeof(WCHAR));
|
MultiByteToWideChar(cp, 0, lpFormat->lpCurrencySymbol, -1, szCy, ARRAY_SIZE(szCy));
|
||||||
fmt.lpCurrencySymbol = szCy;
|
fmt.lpCurrencySymbol = szCy;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lpszValue)
|
if (lpszValue)
|
||||||
MultiByteToWideChar(cp, 0, lpszValue, -1, szIn, sizeof(szIn)/sizeof(WCHAR));
|
MultiByteToWideChar(cp, 0, lpszValue, -1, szIn, ARRAY_SIZE(szIn));
|
||||||
|
|
||||||
if (cchOut > (int)(sizeof(szOut)/sizeof(WCHAR)))
|
if (cchOut > (int) ARRAY_SIZE(szOut))
|
||||||
cchOut = sizeof(szOut)/sizeof(WCHAR);
|
cchOut = ARRAY_SIZE(szOut);
|
||||||
|
|
||||||
szOut[0] = '\0';
|
szOut[0] = '\0';
|
||||||
|
|
||||||
|
@ -1502,7 +1502,7 @@ INT WINAPI GetCurrencyFormatW(LCID lcid, DWORD dwFlags,
|
||||||
CF_CY_LEFT|CF_CY_SPACE, /* $ 1.1 */
|
CF_CY_LEFT|CF_CY_SPACE, /* $ 1.1 */
|
||||||
CF_CY_RIGHT|CF_CY_SPACE, /* 1.1 $ */
|
CF_CY_RIGHT|CF_CY_SPACE, /* 1.1 $ */
|
||||||
};
|
};
|
||||||
WCHAR szBuff[128], *szOut = szBuff + sizeof(szBuff) / sizeof(WCHAR) - 1;
|
WCHAR szBuff[128], *szOut = szBuff + ARRAY_SIZE(szBuff) - 1;
|
||||||
WCHAR szNegBuff[8];
|
WCHAR szNegBuff[8];
|
||||||
const WCHAR *lpszNeg = NULL, *lpszNegStart, *szSrc, *lpszCy, *lpszCyStart;
|
const WCHAR *lpszNeg = NULL, *lpszNegStart, *szSrc, *lpszCy, *lpszCyStart;
|
||||||
DWORD dwState = 0, dwDecimals = 0, dwGroupCount = 0, dwCurrentGroupCount = 0, dwFmt;
|
DWORD dwState = 0, dwDecimals = 0, dwGroupCount = 0, dwCurrentGroupCount = 0, dwFmt;
|
||||||
|
@ -1533,7 +1533,7 @@ INT WINAPI GetCurrencyFormatW(LCID lcid, DWORD dwFlags,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GetLocaleInfoW(lcid, LOCALE_SNEGATIVESIGN|(dwFlags & LOCALE_NOUSEROVERRIDE),
|
GetLocaleInfoW(lcid, LOCALE_SNEGATIVESIGN|(dwFlags & LOCALE_NOUSEROVERRIDE),
|
||||||
szNegBuff, sizeof(szNegBuff)/sizeof(WCHAR));
|
szNegBuff, ARRAY_SIZE(szNegBuff));
|
||||||
lpszNegStart = lpszNeg = szNegBuff;
|
lpszNegStart = lpszNeg = szNegBuff;
|
||||||
}
|
}
|
||||||
dwFlags &= (LOCALE_NOUSEROVERRIDE|LOCALE_USE_CP_ACP);
|
dwFlags &= (LOCALE_NOUSEROVERRIDE|LOCALE_USE_CP_ACP);
|
||||||
|
@ -1841,9 +1841,9 @@ static BOOL NLS_EnumDateFormats(const struct enumdateformats_context *ctxt)
|
||||||
|
|
||||||
lctype |= ctxt->flags & LOCALE_USE_CP_ACP;
|
lctype |= ctxt->flags & LOCALE_USE_CP_ACP;
|
||||||
if (ctxt->unicode)
|
if (ctxt->unicode)
|
||||||
ret = GetLocaleInfoW(ctxt->lcid, lctype, bufW, sizeof(bufW)/sizeof(bufW[0]));
|
ret = GetLocaleInfoW(ctxt->lcid, lctype, bufW, ARRAY_SIZE(bufW));
|
||||||
else
|
else
|
||||||
ret = GetLocaleInfoA(ctxt->lcid, lctype, bufA, sizeof(bufA)/sizeof(bufA[0]));
|
ret = GetLocaleInfoA(ctxt->lcid, lctype, bufA, ARRAY_SIZE(bufA));
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
{
|
{
|
||||||
|
@ -1994,9 +1994,9 @@ static BOOL NLS_EnumTimeFormats(struct enumtimeformats_context *ctxt)
|
||||||
|
|
||||||
lctype |= ctxt->flags & LOCALE_USE_CP_ACP;
|
lctype |= ctxt->flags & LOCALE_USE_CP_ACP;
|
||||||
if (ctxt->unicode)
|
if (ctxt->unicode)
|
||||||
ret = GetLocaleInfoW(ctxt->lcid, lctype, bufW, sizeof(bufW)/sizeof(bufW[0]));
|
ret = GetLocaleInfoW(ctxt->lcid, lctype, bufW, ARRAY_SIZE(bufW));
|
||||||
else
|
else
|
||||||
ret = GetLocaleInfoA(ctxt->lcid, lctype, bufA, sizeof(bufA)/sizeof(bufA[0]));
|
ret = GetLocaleInfoA(ctxt->lcid, lctype, bufA, ARRAY_SIZE(bufA));
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
{
|
{
|
||||||
|
|
|
@ -355,8 +355,7 @@ static UINT find_charset( const WCHAR *name )
|
||||||
if (isalnum((unsigned char)name[i])) charset_name[j++] = name[i];
|
if (isalnum((unsigned char)name[i])) charset_name[j++] = name[i];
|
||||||
charset_name[j] = 0;
|
charset_name[j] = 0;
|
||||||
|
|
||||||
entry = bsearch( charset_name, charset_names,
|
entry = bsearch( charset_name, charset_names, ARRAY_SIZE( charset_names ),
|
||||||
sizeof(charset_names)/sizeof(charset_names[0]),
|
|
||||||
sizeof(charset_names[0]), charset_cmp );
|
sizeof(charset_names[0]), charset_cmp );
|
||||||
if (entry) return entry->codepage;
|
if (entry) return entry->codepage;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -395,8 +394,7 @@ static BOOL CALLBACK find_locale_id_callback( HMODULE hModule, LPCWSTR type,
|
||||||
|
|
||||||
/* first check exact name */
|
/* first check exact name */
|
||||||
if (data->win_name[0] &&
|
if (data->win_name[0] &&
|
||||||
GetLocaleInfoW( lcid, LOCALE_SNAME | LOCALE_NOUSEROVERRIDE,
|
GetLocaleInfoW( lcid, LOCALE_SNAME | LOCALE_NOUSEROVERRIDE, buffer, ARRAY_SIZE( buffer )))
|
||||||
buffer, sizeof(buffer)/sizeof(WCHAR) ))
|
|
||||||
{
|
{
|
||||||
if (!strcmpiW( data->win_name, buffer ))
|
if (!strcmpiW( data->win_name, buffer ))
|
||||||
{
|
{
|
||||||
|
@ -406,7 +404,7 @@ static BOOL CALLBACK find_locale_id_callback( HMODULE hModule, LPCWSTR type,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!GetLocaleInfoW( lcid, LOCALE_SISO639LANGNAME | LOCALE_NOUSEROVERRIDE,
|
if (!GetLocaleInfoW( lcid, LOCALE_SISO639LANGNAME | LOCALE_NOUSEROVERRIDE,
|
||||||
buffer, sizeof(buffer)/sizeof(WCHAR) ))
|
buffer, ARRAY_SIZE( buffer )))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
if (strcmpiW( buffer, data->lang )) return TRUE;
|
if (strcmpiW( buffer, data->lang )) return TRUE;
|
||||||
matches++; /* language name matched */
|
matches++; /* language name matched */
|
||||||
|
@ -414,7 +412,7 @@ static BOOL CALLBACK find_locale_id_callback( HMODULE hModule, LPCWSTR type,
|
||||||
if (data->script)
|
if (data->script)
|
||||||
{
|
{
|
||||||
if (GetLocaleInfoW( lcid, LOCALE_SSCRIPTS | LOCALE_NOUSEROVERRIDE,
|
if (GetLocaleInfoW( lcid, LOCALE_SSCRIPTS | LOCALE_NOUSEROVERRIDE,
|
||||||
buffer, sizeof(buffer)/sizeof(WCHAR) ))
|
buffer, ARRAY_SIZE( buffer )))
|
||||||
{
|
{
|
||||||
const WCHAR *p = buffer;
|
const WCHAR *p = buffer;
|
||||||
unsigned int len = strlenW( data->script );
|
unsigned int len = strlenW( data->script );
|
||||||
|
@ -432,7 +430,7 @@ static BOOL CALLBACK find_locale_id_callback( HMODULE hModule, LPCWSTR type,
|
||||||
if (data->country)
|
if (data->country)
|
||||||
{
|
{
|
||||||
if (GetLocaleInfoW( lcid, LOCALE_SISO3166CTRYNAME|LOCALE_NOUSEROVERRIDE,
|
if (GetLocaleInfoW( lcid, LOCALE_SISO3166CTRYNAME|LOCALE_NOUSEROVERRIDE,
|
||||||
buffer, sizeof(buffer)/sizeof(WCHAR) ))
|
buffer, ARRAY_SIZE( buffer )))
|
||||||
{
|
{
|
||||||
if (strcmpiW( buffer, data->country )) goto done;
|
if (strcmpiW( buffer, data->country )) goto done;
|
||||||
matches++; /* country name matched */
|
matches++; /* country name matched */
|
||||||
|
@ -490,7 +488,7 @@ static void parse_locale_name( const WCHAR *str, struct locale_name *name )
|
||||||
name->matches = 0;
|
name->matches = 0;
|
||||||
name->codepage = 0;
|
name->codepage = 0;
|
||||||
name->win_name[0] = 0;
|
name->win_name[0] = 0;
|
||||||
lstrcpynW( name->lang, str, sizeof(name->lang)/sizeof(WCHAR) );
|
lstrcpynW( name->lang, str, ARRAY_SIZE( name->lang ));
|
||||||
|
|
||||||
if (!*name->lang)
|
if (!*name->lang)
|
||||||
{
|
{
|
||||||
|
@ -816,8 +814,7 @@ static BOOL locale_update_registry( HKEY hkey, const WCHAR *name, LCID lcid,
|
||||||
|
|
||||||
for (i = 0; i < nb_values; i++)
|
for (i = 0; i < nb_values; i++)
|
||||||
{
|
{
|
||||||
GetLocaleInfoW( lcid, values[i] | LOCALE_NOUSEROVERRIDE, bufferW,
|
GetLocaleInfoW( lcid, values[i] | LOCALE_NOUSEROVERRIDE, bufferW, ARRAY_SIZE( bufferW ));
|
||||||
sizeof(bufferW)/sizeof(WCHAR) );
|
|
||||||
SetLocaleInfoW( lcid, values[i], bufferW );
|
SetLocaleInfoW( lcid, values[i], bufferW );
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -905,19 +902,19 @@ void LOCALE_InitRegistry(void)
|
||||||
return; /* don't do anything if we can't create the registry key */
|
return; /* don't do anything if we can't create the registry key */
|
||||||
|
|
||||||
locale_update_registry( hkey, localeW, lcid_LC_MESSAGES, lc_messages_values,
|
locale_update_registry( hkey, localeW, lcid_LC_MESSAGES, lc_messages_values,
|
||||||
sizeof(lc_messages_values)/sizeof(lc_messages_values[0]) );
|
ARRAY_SIZE( lc_messages_values ));
|
||||||
locale_update_registry( hkey, lc_monetaryW, lcid_LC_MONETARY, lc_monetary_values,
|
locale_update_registry( hkey, lc_monetaryW, lcid_LC_MONETARY, lc_monetary_values,
|
||||||
sizeof(lc_monetary_values)/sizeof(lc_monetary_values[0]) );
|
ARRAY_SIZE( lc_monetary_values ));
|
||||||
locale_update_registry( hkey, lc_numericW, lcid_LC_NUMERIC, lc_numeric_values,
|
locale_update_registry( hkey, lc_numericW, lcid_LC_NUMERIC, lc_numeric_values,
|
||||||
sizeof(lc_numeric_values)/sizeof(lc_numeric_values[0]) );
|
ARRAY_SIZE( lc_numeric_values ));
|
||||||
locale_update_registry( hkey, lc_timeW, lcid_LC_TIME, lc_time_values,
|
locale_update_registry( hkey, lc_timeW, lcid_LC_TIME, lc_time_values,
|
||||||
sizeof(lc_time_values)/sizeof(lc_time_values[0]) );
|
ARRAY_SIZE( lc_time_values ));
|
||||||
locale_update_registry( hkey, lc_measurementW, lcid_LC_MEASUREMENT, lc_measurement_values,
|
locale_update_registry( hkey, lc_measurementW, lcid_LC_MEASUREMENT, lc_measurement_values,
|
||||||
sizeof(lc_measurement_values)/sizeof(lc_measurement_values[0]) );
|
ARRAY_SIZE( lc_measurement_values ));
|
||||||
locale_update_registry( hkey, lc_telephoneW, lcid_LC_TELEPHONE, lc_telephone_values,
|
locale_update_registry( hkey, lc_telephoneW, lcid_LC_TELEPHONE, lc_telephone_values,
|
||||||
sizeof(lc_telephone_values)/sizeof(lc_telephone_values[0]) );
|
ARRAY_SIZE( lc_telephone_values ));
|
||||||
locale_update_registry( hkey, lc_paperW, lcid_LC_PAPER, lc_paper_values,
|
locale_update_registry( hkey, lc_paperW, lcid_LC_PAPER, lc_paper_values,
|
||||||
sizeof(lc_paper_values)/sizeof(lc_paper_values[0]) );
|
ARRAY_SIZE( lc_paper_values ));
|
||||||
|
|
||||||
if (locale_update_registry( hkey, lc_ctypeW, lcid_LC_CTYPE, NULL, 0 ))
|
if (locale_update_registry( hkey, lc_ctypeW, lcid_LC_CTYPE, NULL, 0 ))
|
||||||
{
|
{
|
||||||
|
@ -943,10 +940,10 @@ void LOCALE_InitRegistry(void)
|
||||||
nameW.Length = len * sizeof(WCHAR);
|
nameW.Length = len * sizeof(WCHAR);
|
||||||
if (!NtCreateKey( &nls_key, KEY_ALL_ACCESS, &attr, 0, NULL, 0, NULL ))
|
if (!NtCreateKey( &nls_key, KEY_ALL_ACCESS, &attr, 0, NULL, 0, NULL ))
|
||||||
{
|
{
|
||||||
for (i = 0; i < sizeof(update_cp_values)/sizeof(update_cp_values[0]); i++)
|
for (i = 0; i < ARRAY_SIZE( update_cp_values ); i++)
|
||||||
{
|
{
|
||||||
count = GetLocaleInfoW( lcid, update_cp_values[i].value | LOCALE_NOUSEROVERRIDE,
|
count = GetLocaleInfoW( lcid, update_cp_values[i].value | LOCALE_NOUSEROVERRIDE,
|
||||||
bufferW, sizeof(bufferW)/sizeof(WCHAR) );
|
bufferW, ARRAY_SIZE( bufferW ));
|
||||||
RtlInitUnicodeString( &nameW, update_cp_values[i].name );
|
RtlInitUnicodeString( &nameW, update_cp_values[i].name );
|
||||||
NtSetValueKey( nls_key, &nameW, 0, REG_SZ, bufferW, count * sizeof(WCHAR) );
|
NtSetValueKey( nls_key, &nameW, 0, REG_SZ, bufferW, count * sizeof(WCHAR) );
|
||||||
}
|
}
|
||||||
|
@ -1112,7 +1109,7 @@ static UINT setup_unix_locales(void)
|
||||||
|
|
||||||
if ((locale = get_locale( LC_CTYPE, "LC_CTYPE" )))
|
if ((locale = get_locale( LC_CTYPE, "LC_CTYPE" )))
|
||||||
{
|
{
|
||||||
strcpynAtoW( ctype_buff, locale, sizeof(ctype_buff)/sizeof(WCHAR) );
|
strcpynAtoW( ctype_buff, locale, ARRAY_SIZE( ctype_buff ));
|
||||||
parse_locale_name( ctype_buff, &locale_name );
|
parse_locale_name( ctype_buff, &locale_name );
|
||||||
lcid_LC_CTYPE = locale_name.lcid;
|
lcid_LC_CTYPE = locale_name.lcid;
|
||||||
unix_cp = locale_name.codepage;
|
unix_cp = locale_name.codepage;
|
||||||
|
@ -1126,7 +1123,7 @@ static UINT setup_unix_locales(void)
|
||||||
#define GET_UNIX_LOCALE(cat) do \
|
#define GET_UNIX_LOCALE(cat) do \
|
||||||
if ((locale = get_locale( cat, #cat ))) \
|
if ((locale = get_locale( cat, #cat ))) \
|
||||||
{ \
|
{ \
|
||||||
strcpynAtoW( buffer, locale, sizeof(buffer)/sizeof(WCHAR) ); \
|
strcpynAtoW( buffer, locale, ARRAY_SIZE(buffer) ); \
|
||||||
if (!strcmpW( buffer, ctype_buff )) lcid_##cat = lcid_LC_CTYPE; \
|
if (!strcmpW( buffer, ctype_buff )) lcid_##cat = lcid_LC_CTYPE; \
|
||||||
else { \
|
else { \
|
||||||
parse_locale_name( buffer, &locale_name ); \
|
parse_locale_name( buffer, &locale_name ); \
|
||||||
|
@ -1444,7 +1441,7 @@ INT WINAPI LCIDToLocaleName( LCID lcid, LPWSTR name, INT count, DWORD flags )
|
||||||
static struct registry_value *get_locale_registry_value( DWORD lctype )
|
static struct registry_value *get_locale_registry_value( DWORD lctype )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i=0; i < sizeof(registry_values)/sizeof(registry_values[0]); i++)
|
for (i = 0; i < ARRAY_SIZE( registry_values ); i++)
|
||||||
if (registry_values[i].lctype == lctype)
|
if (registry_values[i].lctype == lctype)
|
||||||
return ®istry_values[i];
|
return ®istry_values[i];
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -1698,7 +1695,7 @@ INT WINAPI GetLocaleInfoW( LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len )
|
||||||
if (lcflags & LOCALE_RETURN_NUMBER)
|
if (lcflags & LOCALE_RETURN_NUMBER)
|
||||||
{
|
{
|
||||||
WCHAR tmp[16];
|
WCHAR tmp[16];
|
||||||
ret = get_registry_locale_info( value, tmp, sizeof(tmp)/sizeof(WCHAR) );
|
ret = get_registry_locale_info( value, tmp, ARRAY_SIZE( tmp ));
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
{
|
{
|
||||||
WCHAR *end;
|
WCHAR *end;
|
||||||
|
@ -2219,7 +2216,7 @@ BOOL WINAPI GetCPInfoExW( UINT codepage, DWORD dwFlags, LPCPINFOEXW cpinfo )
|
||||||
cpinfo->CodePage = table->info.codepage;
|
cpinfo->CodePage = table->info.codepage;
|
||||||
cpinfo->UnicodeDefaultChar = table->info.def_unicode_char;
|
cpinfo->UnicodeDefaultChar = table->info.def_unicode_char;
|
||||||
MultiByteToWideChar( CP_ACP, 0, table->info.name, -1, cpinfo->CodePageName,
|
MultiByteToWideChar( CP_ACP, 0, table->info.name, -1, cpinfo->CodePageName,
|
||||||
sizeof(cpinfo->CodePageName)/sizeof(WCHAR));
|
ARRAY_SIZE( cpinfo->CodePageName ));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2269,7 +2266,7 @@ BOOL WINAPI EnumSystemCodePagesW( CODEPAGE_ENUMPROCW lpfnCodePageEnum, DWORD fla
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
if (!(table = wine_cp_enum_table( index++ ))) break;
|
if (!(table = wine_cp_enum_table( index++ ))) break;
|
||||||
p = buffer + sizeof(buffer)/sizeof(WCHAR);
|
p = buffer + ARRAY_SIZE( buffer );
|
||||||
*--p = 0;
|
*--p = 0;
|
||||||
page = table->info.codepage;
|
page = table->info.codepage;
|
||||||
do
|
do
|
||||||
|
@ -2989,7 +2986,7 @@ static BOOL CALLBACK enum_locale_ex_proc( HMODULE module, LPCWSTR type,
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
|
|
||||||
GetLocaleInfoW( MAKELCID( lang, SORT_DEFAULT ), LOCALE_SNAME | LOCALE_NOUSEROVERRIDE,
|
GetLocaleInfoW( MAKELCID( lang, SORT_DEFAULT ), LOCALE_SNAME | LOCALE_NOUSEROVERRIDE,
|
||||||
buffer, sizeof(buffer) / sizeof(WCHAR) );
|
buffer, ARRAY_SIZE( buffer ));
|
||||||
if (!GetLocaleInfoW( MAKELCID( lang, SORT_DEFAULT ),
|
if (!GetLocaleInfoW( MAKELCID( lang, SORT_DEFAULT ),
|
||||||
LOCALE_INEUTRAL | LOCALE_NOUSEROVERRIDE | LOCALE_RETURN_NUMBER,
|
LOCALE_INEUTRAL | LOCALE_NOUSEROVERRIDE | LOCALE_RETURN_NUMBER,
|
||||||
(LPWSTR)&neutral, sizeof(neutral) / sizeof(WCHAR) ))
|
(LPWSTR)&neutral, sizeof(neutral) / sizeof(WCHAR) ))
|
||||||
|
@ -3254,7 +3251,7 @@ static INT compose_katakana( LPCWSTR src, INT srclen, LPWSTR dst )
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
int shift = *src - 0xff61;
|
int shift = *src - 0xff61;
|
||||||
if (shift < 0 || shift >= sizeof(katakana_map)/sizeof(katakana_map[0]) )
|
if (shift < 0 || shift >= ARRAY_SIZE( katakana_map ))
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
*dst = katakana_map[shift] | 0x3000;
|
*dst = katakana_map[shift] | 0x3000;
|
||||||
|
@ -3362,7 +3359,7 @@ static INT decompose_katakana( WCHAR c, LPWSTR dst, INT dstlen )
|
||||||
INT len = 0, shift = c - 0x3099;
|
INT len = 0, shift = c - 0x3099;
|
||||||
BYTE k;
|
BYTE k;
|
||||||
|
|
||||||
if (shift < 0 || shift >= sizeof(katakana_map)/sizeof(katakana_map[0]))
|
if (shift < 0 || shift >= ARRAY_SIZE( katakana_map ))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
k = katakana_map[shift];
|
k = katakana_map[shift];
|
||||||
|
@ -4382,7 +4379,7 @@ static BOOL NLS_EnumSystemLanguageGroups(ENUMLANGUAGEGROUP_CALLBACKS *lpProcs)
|
||||||
{
|
{
|
||||||
WCHAR szGrpName[48];
|
WCHAR szGrpName[48];
|
||||||
|
|
||||||
if (!NLS_GetLanguageGroupName( lgrpid, szGrpName, sizeof(szGrpName) / sizeof(WCHAR) ))
|
if (!NLS_GetLanguageGroupName( lgrpid, szGrpName, ARRAY_SIZE( szGrpName )))
|
||||||
szGrpName[0] = '\0';
|
szGrpName[0] = '\0';
|
||||||
|
|
||||||
if (lpProcs->procW)
|
if (lpProcs->procW)
|
||||||
|
@ -4390,7 +4387,7 @@ static BOOL NLS_EnumSystemLanguageGroups(ENUMLANGUAGEGROUP_CALLBACKS *lpProcs)
|
||||||
lpProcs->lParam );
|
lpProcs->lParam );
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char szNumberA[sizeof(szNumber)/sizeof(WCHAR)];
|
char szNumberA[ARRAY_SIZE( szNumber )];
|
||||||
char szGrpNameA[48];
|
char szGrpNameA[48];
|
||||||
|
|
||||||
/* FIXME: MSDN doesn't say which code page the W->A translation uses,
|
/* FIXME: MSDN doesn't say which code page the W->A translation uses,
|
||||||
|
@ -4584,7 +4581,7 @@ static BOOL NLS_EnumLanguageGroupLocales(ENUMLANGUAGEGROUPLOCALE_CALLBACKS *lpPr
|
||||||
bContinue = lpProcs->procW( lgrpid, lcid, szNumber, lpProcs->lParam );
|
bContinue = lpProcs->procW( lgrpid, lcid, szNumber, lpProcs->lParam );
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char szNumberA[sizeof(szNumber)/sizeof(WCHAR)];
|
char szNumberA[ARRAY_SIZE( szNumber )];
|
||||||
|
|
||||||
WideCharToMultiByte(CP_ACP, 0, szNumber, -1, szNumberA, sizeof(szNumberA), 0, 0);
|
WideCharToMultiByte(CP_ACP, 0, szNumber, -1, szNumberA, sizeof(szNumberA), 0, 0);
|
||||||
|
|
||||||
|
@ -5174,7 +5171,7 @@ static const struct geoinfo_t *get_geoinfo_dataptr(GEOID geoid)
|
||||||
int min, max;
|
int min, max;
|
||||||
|
|
||||||
min = 0;
|
min = 0;
|
||||||
max = sizeof(geoinfodata)/sizeof(struct geoinfo_t)-1;
|
max = ARRAY_SIZE(geoinfodata)-1;
|
||||||
|
|
||||||
while (min <= max) {
|
while (min <= max) {
|
||||||
const struct geoinfo_t *ptr;
|
const struct geoinfo_t *ptr;
|
||||||
|
@ -5324,7 +5321,7 @@ BOOL WINAPI EnumSystemGeoID(GEOCLASS geoclass, GEOID parent, GEO_ENUMPROC enumpr
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < sizeof(geoinfodata)/sizeof(struct geoinfo_t); i++) {
|
for (i = 0; i < ARRAY_SIZE(geoinfodata); i++) {
|
||||||
const struct geoinfo_t *ptr = &geoinfodata[i];
|
const struct geoinfo_t *ptr = &geoinfodata[i];
|
||||||
|
|
||||||
if (geoclass == GEOCLASS_NATION && (ptr->kind == LOCATION_REGION))
|
if (geoclass == GEOCLASS_NATION && (ptr->kind == LOCATION_REGION))
|
||||||
|
@ -5682,8 +5679,7 @@ INT WINAPI IdnToNameprepUnicode(DWORD dwFlags, LPCWSTR lpUnicodeCharStr, INT cch
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
norm_len = FoldStringW(MAP_FOLDCZONE, map_str, map_len,
|
norm_len = FoldStringW(MAP_FOLDCZONE, map_str, map_len, norm_str, ARRAY_SIZE(norm_str)-1);
|
||||||
norm_str, sizeof(norm_str)/sizeof(WCHAR)-1);
|
|
||||||
if(map_str != buf)
|
if(map_str != buf)
|
||||||
HeapFree(GetProcessHeap(), 0, map_str);
|
HeapFree(GetProcessHeap(), 0, map_str);
|
||||||
if(!norm_len) {
|
if(!norm_len) {
|
||||||
|
|
|
@ -1142,8 +1142,7 @@ static BOOL load_library_as_datafile( LPCWSTR name, HMODULE *hmod, DWORD flags )
|
||||||
|
|
||||||
if (flags & LOAD_LIBRARY_AS_IMAGE_RESOURCE) protect |= SEC_IMAGE;
|
if (flags & LOAD_LIBRARY_AS_IMAGE_RESOURCE) protect |= SEC_IMAGE;
|
||||||
|
|
||||||
if (SearchPathW( NULL, name, dotDLL, sizeof(filenameW) / sizeof(filenameW[0]),
|
if (SearchPathW( NULL, name, dotDLL, ARRAY_SIZE( filenameW ), filenameW, NULL ))
|
||||||
filenameW, NULL ))
|
|
||||||
{
|
{
|
||||||
hFile = CreateFileW( filenameW, GENERIC_READ, sharing, NULL, OPEN_EXISTING, 0, 0 );
|
hFile = CreateFileW( filenameW, GENERIC_READ, sharing, NULL, OPEN_EXISTING, 0, 0 );
|
||||||
}
|
}
|
||||||
|
|
|
@ -893,7 +893,7 @@ static NTSTATUS find_actctx_dllpath(const WCHAR *libname, WCHAR **path)
|
||||||
strcpyW( p, DIR_Windows );
|
strcpyW( p, DIR_Windows );
|
||||||
p += strlenW(p);
|
p += strlenW(p);
|
||||||
memcpy( p, winsxsW, sizeof(winsxsW) );
|
memcpy( p, winsxsW, sizeof(winsxsW) );
|
||||||
p += sizeof(winsxsW) / sizeof(WCHAR);
|
p += ARRAY_SIZE( winsxsW );
|
||||||
memcpy( p, info->lpAssemblyDirectoryName, info->ulAssemblyDirectoryNameLength );
|
memcpy( p, info->lpAssemblyDirectoryName, info->ulAssemblyDirectoryNameLength );
|
||||||
p += info->ulAssemblyDirectoryNameLength / sizeof(WCHAR);
|
p += info->ulAssemblyDirectoryNameLength / sizeof(WCHAR);
|
||||||
*p++ = '\\';
|
*p++ = '\\';
|
||||||
|
|
|
@ -377,7 +377,7 @@ static void set_registry_variables( HANDLE hkey, ULONG type )
|
||||||
}
|
}
|
||||||
/* PATH is magic */
|
/* PATH is magic */
|
||||||
if (env_name.Length == sizeof(pathW) &&
|
if (env_name.Length == sizeof(pathW) &&
|
||||||
!memicmpW( env_name.Buffer, pathW, sizeof(pathW)/sizeof(WCHAR) ) &&
|
!memicmpW( env_name.Buffer, pathW, ARRAY_SIZE( pathW )) &&
|
||||||
!RtlQueryEnvironmentVariable_U( NULL, &env_name, &tmp ))
|
!RtlQueryEnvironmentVariable_U( NULL, &env_name, &tmp ))
|
||||||
{
|
{
|
||||||
RtlAppendUnicodeToString( &tmp, sep );
|
RtlAppendUnicodeToString( &tmp, sep );
|
||||||
|
@ -528,7 +528,7 @@ static void set_additional_environment(void)
|
||||||
DWORD len;
|
DWORD len;
|
||||||
|
|
||||||
/* ComputerName */
|
/* ComputerName */
|
||||||
len = sizeof(buf) / sizeof(WCHAR);
|
len = ARRAY_SIZE( buf );
|
||||||
if (GetComputerNameW( buf, &len ))
|
if (GetComputerNameW( buf, &len ))
|
||||||
SetEnvironmentVariableW( computernameW, buf );
|
SetEnvironmentVariableW( computernameW, buf );
|
||||||
|
|
||||||
|
@ -606,7 +606,7 @@ static void set_wow64_environment(void)
|
||||||
|
|
||||||
/* set the PROCESSOR_ARCHITECTURE variable */
|
/* set the PROCESSOR_ARCHITECTURE variable */
|
||||||
|
|
||||||
if (GetEnvironmentVariableW( arch6432W, arch, sizeof(arch)/sizeof(WCHAR) ))
|
if (GetEnvironmentVariableW( arch6432W, arch, ARRAY_SIZE( arch )))
|
||||||
{
|
{
|
||||||
if (is_win64)
|
if (is_win64)
|
||||||
{
|
{
|
||||||
|
@ -614,7 +614,7 @@ static void set_wow64_environment(void)
|
||||||
SetEnvironmentVariableW( arch6432W, NULL );
|
SetEnvironmentVariableW( arch6432W, NULL );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (GetEnvironmentVariableW( archW, arch, sizeof(arch)/sizeof(WCHAR) ))
|
else if (GetEnvironmentVariableW( archW, arch, ARRAY_SIZE( arch )))
|
||||||
{
|
{
|
||||||
if (is_wow64)
|
if (is_wow64)
|
||||||
{
|
{
|
||||||
|
@ -1002,7 +1002,7 @@ static void start_wineboot( HANDLE handles[2] )
|
||||||
PROCESS_INFORMATION pi;
|
PROCESS_INFORMATION pi;
|
||||||
void *redir;
|
void *redir;
|
||||||
WCHAR app[MAX_PATH];
|
WCHAR app[MAX_PATH];
|
||||||
WCHAR cmdline[MAX_PATH + (sizeof(wineboot) + sizeof(args)) / sizeof(WCHAR)];
|
WCHAR cmdline[MAX_PATH + ARRAY_SIZE( wineboot ) + ARRAY_SIZE( args )];
|
||||||
|
|
||||||
memset( &si, 0, sizeof(si) );
|
memset( &si, 0, sizeof(si) );
|
||||||
si.cb = sizeof(si);
|
si.cb = sizeof(si);
|
||||||
|
@ -1011,7 +1011,7 @@ static void start_wineboot( HANDLE handles[2] )
|
||||||
si.hStdOutput = 0;
|
si.hStdOutput = 0;
|
||||||
si.hStdError = GetStdHandle( STD_ERROR_HANDLE );
|
si.hStdError = GetStdHandle( STD_ERROR_HANDLE );
|
||||||
|
|
||||||
GetSystemDirectoryW( app, MAX_PATH - sizeof(wineboot)/sizeof(WCHAR) );
|
GetSystemDirectoryW( app, MAX_PATH - ARRAY_SIZE( wineboot ));
|
||||||
lstrcatW( app, wineboot );
|
lstrcatW( app, wineboot );
|
||||||
|
|
||||||
Wow64DisableWow64FsRedirection( &redir );
|
Wow64DisableWow64FsRedirection( &redir );
|
||||||
|
@ -1291,7 +1291,7 @@ void CDECL __wine_kernel_init(void)
|
||||||
}
|
}
|
||||||
args[0] = (DWORD_PTR)main_exe_name;
|
args[0] = (DWORD_PTR)main_exe_name;
|
||||||
FormatMessageW( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY,
|
FormatMessageW( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY,
|
||||||
NULL, error, 0, msgW, sizeof(msgW)/sizeof(WCHAR), (__ms_va_list *)args );
|
NULL, error, 0, msgW, ARRAY_SIZE( msgW ), (__ms_va_list *)args );
|
||||||
WideCharToMultiByte( CP_UNIXCP, 0, msgW, -1, msg, sizeof(msg), NULL, NULL );
|
WideCharToMultiByte( CP_UNIXCP, 0, msgW, -1, msg, sizeof(msg), NULL, NULL );
|
||||||
MESSAGE( "wine: %s", msg );
|
MESSAGE( "wine: %s", msg );
|
||||||
ExitProcess( error );
|
ExitProcess( error );
|
||||||
|
@ -1440,7 +1440,7 @@ static char **build_envp( const WCHAR *envW )
|
||||||
for (p = env; *p; p += strlen(p) + 1)
|
for (p = env; *p; p += strlen(p) + 1)
|
||||||
if (is_special_env_var( p )) length += 4; /* prefix it with "WINE" */
|
if (is_special_env_var( p )) length += 4; /* prefix it with "WINE" */
|
||||||
|
|
||||||
for (i = 0; i < sizeof(unix_vars)/sizeof(unix_vars[0]); i++)
|
for (i = 0; i < ARRAY_SIZE( unix_vars ); i++)
|
||||||
{
|
{
|
||||||
if (!(p = getenv(unix_vars[i]))) continue;
|
if (!(p = getenv(unix_vars[i]))) continue;
|
||||||
length += strlen(unix_vars[i]) + strlen(p) + 2;
|
length += strlen(unix_vars[i]) + strlen(p) + 2;
|
||||||
|
@ -1453,7 +1453,7 @@ static char **build_envp( const WCHAR *envW )
|
||||||
char *dst = (char *)(envp + count);
|
char *dst = (char *)(envp + count);
|
||||||
|
|
||||||
/* some variables must not be modified, so we get them directly from the unix env */
|
/* some variables must not be modified, so we get them directly from the unix env */
|
||||||
for (i = 0; i < sizeof(unix_vars)/sizeof(unix_vars[0]); i++)
|
for (i = 0; i < ARRAY_SIZE( unix_vars ); i++)
|
||||||
{
|
{
|
||||||
if (!(p = getenv(unix_vars[i]))) continue;
|
if (!(p = getenv(unix_vars[i]))) continue;
|
||||||
*envptr++ = strcpy( dst, unix_vars[i] );
|
*envptr++ = strcpy( dst, unix_vars[i] );
|
||||||
|
@ -2048,7 +2048,7 @@ static BOOL create_process( HANDLE hFile, LPCWSTR filename, LPWSTR cmd_line, LPW
|
||||||
while (*env_end)
|
while (*env_end)
|
||||||
{
|
{
|
||||||
static const WCHAR WINEDEBUG[] = {'W','I','N','E','D','E','B','U','G','=',0};
|
static const WCHAR WINEDEBUG[] = {'W','I','N','E','D','E','B','U','G','=',0};
|
||||||
if (!winedebug && !strncmpW( env_end, WINEDEBUG, sizeof(WINEDEBUG)/sizeof(WCHAR) - 1 ))
|
if (!winedebug && !strncmpW( env_end, WINEDEBUG, ARRAY_SIZE( WINEDEBUG ) - 1 ))
|
||||||
{
|
{
|
||||||
DWORD len = WideCharToMultiByte( CP_UNIXCP, 0, env_end, -1, NULL, 0, NULL, NULL );
|
DWORD len = WideCharToMultiByte( CP_UNIXCP, 0, env_end, -1, NULL, 0, NULL, NULL );
|
||||||
if ((winedebug = HeapAlloc( GetProcessHeap(), 0, len )))
|
if ((winedebug = HeapAlloc( GetProcessHeap(), 0, len )))
|
||||||
|
@ -2219,7 +2219,7 @@ static BOOL create_cmd_process( LPCWSTR filename, LPWSTR cmd_line, LPVOID env, L
|
||||||
WCHAR *newcmdline;
|
WCHAR *newcmdline;
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
|
|
||||||
if (!GetEnvironmentVariableW( comspecW, comspec, sizeof(comspec)/sizeof(WCHAR) ))
|
if (!GetEnvironmentVariableW( comspecW, comspec, ARRAY_SIZE( comspec )))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!(newcmdline = HeapAlloc( GetProcessHeap(), 0,
|
if (!(newcmdline = HeapAlloc( GetProcessHeap(), 0,
|
||||||
(strlenW(comspec) + 7 + strlenW(cmd_line) + 2) * sizeof(WCHAR))))
|
(strlenW(comspec) + 7 + strlenW(cmd_line) + 2) * sizeof(WCHAR))))
|
||||||
|
@ -2340,7 +2340,7 @@ static BOOL create_process_impl( LPCWSTR app_name, LPWSTR cmd_line, LPSECURITY_A
|
||||||
|
|
||||||
TRACE("app %s cmdline %s\n", debugstr_w(app_name), debugstr_w(cmd_line) );
|
TRACE("app %s cmdline %s\n", debugstr_w(app_name), debugstr_w(cmd_line) );
|
||||||
|
|
||||||
if (!(tidy_cmdline = get_file_name( app_name, cmd_line, name, sizeof(name)/sizeof(WCHAR),
|
if (!(tidy_cmdline = get_file_name( app_name, cmd_line, name, ARRAY_SIZE( name ),
|
||||||
&hFile, &binary_info )))
|
&hFile, &binary_info )))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (hFile == INVALID_HANDLE_VALUE) goto done;
|
if (hFile == INVALID_HANDLE_VALUE) goto done;
|
||||||
|
@ -3624,7 +3624,7 @@ BOOL WINAPI QueryFullProcessImageNameW(HANDLE hProcess, DWORD dwFlags, LPWSTR lp
|
||||||
drive[0] = result->Buffer[0];
|
drive[0] = result->Buffer[0];
|
||||||
drive[1] = ':';
|
drive[1] = ':';
|
||||||
drive[2] = 0;
|
drive[2] = 0;
|
||||||
if (!QueryDosDeviceW(drive, device, sizeof(device)/sizeof(*device)))
|
if (!QueryDosDeviceW(drive, device, ARRAY_SIZE(device)))
|
||||||
{
|
{
|
||||||
status = STATUS_NO_SUCH_DEVICE;
|
status = STATUS_NO_SUCH_DEVICE;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
|
@ -772,7 +772,7 @@ static BOOL PROFILE_Open( LPCWSTR filename, BOOL write_access )
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LPWSTR dummy;
|
LPWSTR dummy;
|
||||||
GetFullPathNameW(filename, sizeof(buffer)/sizeof(buffer[0]), buffer, &dummy);
|
GetFullPathNameW(filename, ARRAY_SIZE(buffer), buffer, &dummy);
|
||||||
}
|
}
|
||||||
|
|
||||||
TRACE("path: %s\n", debugstr_w(buffer));
|
TRACE("path: %s\n", debugstr_w(buffer));
|
||||||
|
@ -1238,8 +1238,7 @@ UINT WINAPI GetPrivateProfileIntW( LPCWSTR section, LPCWSTR entry,
|
||||||
UNICODE_STRING bufferW;
|
UNICODE_STRING bufferW;
|
||||||
ULONG result;
|
ULONG result;
|
||||||
|
|
||||||
if (GetPrivateProfileStringW( section, entry, emptystringW,
|
if (GetPrivateProfileStringW( section, entry, emptystringW, buffer, ARRAY_SIZE( buffer ),
|
||||||
buffer, sizeof(buffer)/sizeof(WCHAR),
|
|
||||||
filename ) == 0)
|
filename ) == 0)
|
||||||
return def_val;
|
return def_val;
|
||||||
|
|
||||||
|
|
|
@ -1594,7 +1594,7 @@ BOOL WINAPI WaitNamedPipeW (LPCWSTR name, DWORD nTimeOut)
|
||||||
|
|
||||||
if (nt_name.Length >= MAX_PATH * sizeof(WCHAR) ||
|
if (nt_name.Length >= MAX_PATH * sizeof(WCHAR) ||
|
||||||
nt_name.Length < sizeof(leadin) ||
|
nt_name.Length < sizeof(leadin) ||
|
||||||
strncmpiW( nt_name.Buffer, leadin, sizeof(leadin)/sizeof(WCHAR)) != 0)
|
strncmpiW( nt_name.Buffer, leadin, ARRAY_SIZE( leadin )) != 0)
|
||||||
{
|
{
|
||||||
RtlFreeUnicodeString( &nt_name );
|
RtlFreeUnicodeString( &nt_name );
|
||||||
SetLastError( ERROR_PATH_NOT_FOUND );
|
SetLastError( ERROR_PATH_NOT_FOUND );
|
||||||
|
@ -1630,8 +1630,7 @@ BOOL WINAPI WaitNamedPipeW (LPCWSTR name, DWORD nTimeOut)
|
||||||
else
|
else
|
||||||
pipe_wait->Timeout.QuadPart = (ULONGLONG)nTimeOut * -10000;
|
pipe_wait->Timeout.QuadPart = (ULONGLONG)nTimeOut * -10000;
|
||||||
pipe_wait->NameLength = nt_name.Length - sizeof(leadin);
|
pipe_wait->NameLength = nt_name.Length - sizeof(leadin);
|
||||||
memcpy(pipe_wait->Name, nt_name.Buffer + sizeof(leadin)/sizeof(WCHAR),
|
memcpy( pipe_wait->Name, nt_name.Buffer + ARRAY_SIZE( leadin ), pipe_wait->NameLength );
|
||||||
pipe_wait->NameLength);
|
|
||||||
RtlFreeUnicodeString( &nt_name );
|
RtlFreeUnicodeString( &nt_name );
|
||||||
|
|
||||||
status = NtFsControlFile( pipe_dev, NULL, NULL, NULL, &iosb, FSCTL_PIPE_WAIT,
|
status = NtFsControlFile( pipe_dev, NULL, NULL, NULL, &iosb, FSCTL_PIPE_WAIT,
|
||||||
|
@ -2084,8 +2083,7 @@ BOOL WINAPI CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe,
|
||||||
'\\','W','i','n','3','2','.','P','i','p','e','s','.','%','0','8','l',
|
'\\','W','i','n','3','2','.','P','i','p','e','s','.','%','0','8','l',
|
||||||
'u','.','%','0','8','u','\0' };
|
'u','.','%','0','8','u','\0' };
|
||||||
|
|
||||||
snprintfW(name, sizeof(name) / sizeof(name[0]), nameFmt,
|
snprintfW(name, ARRAY_SIZE(name), nameFmt, GetCurrentProcessId(), ++index);
|
||||||
GetCurrentProcessId(), ++index);
|
|
||||||
RtlInitUnicodeString(&nt_name, name);
|
RtlInitUnicodeString(&nt_name, name);
|
||||||
status = NtCreateNamedPipeFile(&hr, GENERIC_READ | SYNCHRONIZE, &attr, &iosb,
|
status = NtCreateNamedPipeFile(&hr, GENERIC_READ | SYNCHRONIZE, &attr, &iosb,
|
||||||
FILE_SHARE_WRITE, FILE_OVERWRITE_IF,
|
FILE_SHARE_WRITE, FILE_OVERWRITE_IF,
|
||||||
|
|
|
@ -373,7 +373,7 @@ static BOOL TERM_BuildKeyDB(void)
|
||||||
struct dbkey_descr descr;
|
struct dbkey_descr descr;
|
||||||
char tmp[64];
|
char tmp[64];
|
||||||
|
|
||||||
for (i = 0; i < sizeof(TERM_dbkey_init) / sizeof(TERM_dbkey_init[0]); i++)
|
for (i = 0; i < ARRAY_SIZE(TERM_dbkey_init); i++)
|
||||||
{
|
{
|
||||||
if (!TERM_AddKeyDescr(tigetstr((char *)TERM_dbkey_init[i].string_normal), &TERM_dbkey_init[i].descr))
|
if (!TERM_AddKeyDescr(tigetstr((char *)TERM_dbkey_init[i].string_normal), &TERM_dbkey_init[i].descr))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
|
@ -420,7 +420,7 @@ static BOOL UDF_Find_PVD( HANDLE handle, BYTE pvd[] )
|
||||||
DWORD offset;
|
DWORD offset;
|
||||||
INT locations[] = { 256, -1, -257, 512 };
|
INT locations[] = { 256, -1, -257, 512 };
|
||||||
|
|
||||||
for(i=0; i<sizeof(locations)/sizeof(locations[0]); i++)
|
for(i=0; i<ARRAY_SIZE(locations); i++)
|
||||||
{
|
{
|
||||||
if (!VOLUME_ReadCDBlock(handle, pvd, locations[i]*BLOCK_SIZE))
|
if (!VOLUME_ReadCDBlock(handle, pvd, locations[i]*BLOCK_SIZE))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -982,7 +982,7 @@ BOOL WINAPI GetVolumeNameForVolumeMountPointA( LPCSTR path, LPSTR volume, DWORD
|
||||||
{
|
{
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
WCHAR volumeW[50], *pathW = NULL;
|
WCHAR volumeW[50], *pathW = NULL;
|
||||||
DWORD len = min( sizeof(volumeW) / sizeof(WCHAR), size );
|
DWORD len = min(ARRAY_SIZE(volumeW), size );
|
||||||
|
|
||||||
TRACE("(%s, %p, %x)\n", debugstr_a(path), volume, size);
|
TRACE("(%s, %p, %x)\n", debugstr_a(path), volume, size);
|
||||||
|
|
||||||
|
@ -1105,7 +1105,7 @@ BOOL WINAPI GetVolumeNameForVolumeMountPointW( LPCWSTR path, LPWSTR volume, DWOR
|
||||||
debugstr_wn((WCHAR*)((char *)output + o1->DeviceNameOffset),
|
debugstr_wn((WCHAR*)((char *)output + o1->DeviceNameOffset),
|
||||||
o1->DeviceNameLength/sizeof(WCHAR)));
|
o1->DeviceNameLength/sizeof(WCHAR)));
|
||||||
|
|
||||||
if (!strncmpW( p, volumeW, sizeof(volumeW)/sizeof(WCHAR) ))
|
if (!strncmpW( p, volumeW, ARRAY_SIZE( volumeW )))
|
||||||
{
|
{
|
||||||
/* is there space in the return variable ?? */
|
/* is there space in the return variable ?? */
|
||||||
if ((o1->SymbolicLinkNameLength/sizeof(WCHAR))+2 > size)
|
if ((o1->SymbolicLinkNameLength/sizeof(WCHAR))+2 > size)
|
||||||
|
@ -1763,7 +1763,7 @@ BOOL WINAPI GetVolumePathNameW(LPCWSTR filename, LPWSTR volumepathname, DWORD bu
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (GetCurrentDirectoryW( sizeof(cwdW)/sizeof(cwdW[0]), cwdW ))
|
else if (GetCurrentDirectoryW(ARRAY_SIZE(cwdW), cwdW ))
|
||||||
{
|
{
|
||||||
/* if the path is completely bogus then revert to the drive of the working directory */
|
/* if the path is completely bogus then revert to the drive of the working directory */
|
||||||
fallbackpathW[0] = cwdW[0];
|
fallbackpathW[0] = cwdW[0];
|
||||||
|
@ -1942,12 +1942,12 @@ BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR volumename, LPWSTR volumepa
|
||||||
linkname = (const WCHAR *)((const char *)link + link->MountPoints[j].SymbolicLinkNameOffset);
|
linkname = (const WCHAR *)((const char *)link + link->MountPoints[j].SymbolicLinkNameOffset);
|
||||||
|
|
||||||
if (link->MountPoints[j].SymbolicLinkNameLength == sizeof(dosdevicesW) + 2 * sizeof(WCHAR) &&
|
if (link->MountPoints[j].SymbolicLinkNameLength == sizeof(dosdevicesW) + 2 * sizeof(WCHAR) &&
|
||||||
!memicmpW( linkname, dosdevicesW, sizeof(dosdevicesW) / sizeof(WCHAR) ))
|
!memicmpW( linkname, dosdevicesW, ARRAY_SIZE( dosdevicesW )))
|
||||||
{
|
{
|
||||||
len += 4;
|
len += 4;
|
||||||
if (volumepathname && len < buflen)
|
if (volumepathname && len < buflen)
|
||||||
{
|
{
|
||||||
path[0] = linkname[sizeof(dosdevicesW) / sizeof(WCHAR)];
|
path[0] = linkname[ARRAY_SIZE( dosdevicesW )];
|
||||||
path[1] = ':';
|
path[1] = ':';
|
||||||
path[2] = '\\';
|
path[2] = '\\';
|
||||||
path[3] = 0;
|
path[3] = 0;
|
||||||
|
|
Loading…
Reference in a new issue