ntdll: 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
d509b1579e
commit
10f23ddb58
|
@ -1556,7 +1556,7 @@ static OLEMISC get_olemisc_value(const WCHAR *str, int len)
|
|||
int min, max;
|
||||
|
||||
min = 0;
|
||||
max = sizeof(olemisc_values)/sizeof(struct olemisc_entry) - 1;
|
||||
max = ARRAY_SIZE(olemisc_values) - 1;
|
||||
|
||||
while (min <= max)
|
||||
{
|
||||
|
@ -3131,7 +3131,7 @@ static WCHAR *lookup_manifest_file( HANDLE dir, struct assembly_identity *ai )
|
|||
tmp = strchrW(tmp, '_') + 1;
|
||||
tmp = strchrW(tmp, '_') + 1;
|
||||
if (dir_info->FileNameLength - (tmp - dir_info->FileName) * sizeof(WCHAR) == sizeof(wine_trailerW) &&
|
||||
!memicmpW( tmp, wine_trailerW, sizeof(wine_trailerW) / sizeof(WCHAR) ))
|
||||
!memicmpW( tmp, wine_trailerW, ARRAY_SIZE( wine_trailerW )))
|
||||
{
|
||||
/* prefer a non-Wine manifest if we already have one */
|
||||
/* we'll still load the builtin dll if specified through DllOverrides */
|
||||
|
|
|
@ -208,7 +208,7 @@ static const char *iocodex(DWORD code)
|
|||
{
|
||||
unsigned int i;
|
||||
static char buffer[25];
|
||||
for(i=0; i<sizeof(iocodextable)/sizeof(struct iocodexs); i++)
|
||||
for(i=0; i<ARRAY_SIZE(iocodextable); i++)
|
||||
if (code==iocodextable[i].code)
|
||||
return iocodextable[i].codex;
|
||||
sprintf(buffer, "IOCTL_CODE_%x", (int)code);
|
||||
|
|
|
@ -175,7 +175,7 @@ static int NTDLL_dbg_vlog( enum __wine_debug_class cls, struct __wine_debug_chan
|
|||
ret += wine_dbg_printf( "%04x:", GetCurrentThreadId() );
|
||||
if (*format == '\1') /* special magic to avoid standard prefix */
|
||||
format++;
|
||||
else if (cls < sizeof(classes)/sizeof(classes[0]))
|
||||
else if (cls < ARRAY_SIZE( classes ))
|
||||
ret += wine_dbg_printf( "%s:%s:%s ", classes[cls], channel->name, function );
|
||||
}
|
||||
if (format)
|
||||
|
|
|
@ -1008,7 +1008,7 @@ struct vol_caps
|
|||
static struct fs_cache *look_up_fs_cache( dev_t dev )
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < sizeof(fs_cache)/sizeof(fs_cache[0]); i++)
|
||||
for (i = 0; i < ARRAY_SIZE( fs_cache ); i++)
|
||||
if (fs_cache[i].dev == dev)
|
||||
return fs_cache+i;
|
||||
return NULL;
|
||||
|
@ -1033,7 +1033,7 @@ static void add_fs_cache( dev_t dev, fsid_t fsid, BOOLEAN case_sensitive )
|
|||
}
|
||||
|
||||
/* Add a new entry */
|
||||
for (i = 0; i < sizeof(fs_cache)/sizeof(fs_cache[0]); i++)
|
||||
for (i = 0; i < ARRAY_SIZE( fs_cache ); i++)
|
||||
if (fs_cache[i].dev == 0)
|
||||
{
|
||||
/* This entry is empty, use it */
|
||||
|
@ -1455,8 +1455,8 @@ static BOOL append_entry( struct dir_data *data, const char *long_name,
|
|||
if (short_name)
|
||||
{
|
||||
short_len = ntdll_umbstowcs( 0, short_name, strlen(short_name),
|
||||
short_nameW, sizeof(short_nameW) / sizeof(WCHAR) - 1 );
|
||||
if (short_len == -1) short_len = sizeof(short_nameW) / sizeof(WCHAR) - 1;
|
||||
short_nameW, ARRAY_SIZE( short_nameW ) - 1 );
|
||||
if (short_len == -1) short_len = ARRAY_SIZE( short_nameW ) - 1;
|
||||
for (i = 0; i < short_len; i++) short_nameW[i] = toupperW( short_nameW[i] );
|
||||
}
|
||||
else /* generate a short name if necessary */
|
||||
|
@ -2291,7 +2291,7 @@ static void init_redirects(void)
|
|||
{
|
||||
windir.dev = st.st_dev;
|
||||
windir.ino = st.st_ino;
|
||||
nb_redirects = sizeof(redirects) / sizeof(redirects[0]);
|
||||
nb_redirects = ARRAY_SIZE( redirects );
|
||||
for (i = 0; i < nb_redirects; i++)
|
||||
{
|
||||
if (!redirects[i].dos_target) continue;
|
||||
|
@ -2473,11 +2473,11 @@ static inline int get_dos_prefix_len( const UNICODE_STRING *name )
|
|||
|
||||
if (name->Length >= sizeof(nt_prefixW) &&
|
||||
!memcmp( name->Buffer, nt_prefixW, sizeof(nt_prefixW) ))
|
||||
return sizeof(nt_prefixW) / sizeof(WCHAR);
|
||||
return ARRAY_SIZE( nt_prefixW );
|
||||
|
||||
if (name->Length >= sizeof(dosdev_prefixW) &&
|
||||
!memicmpW( name->Buffer, dosdev_prefixW, sizeof(dosdev_prefixW)/sizeof(WCHAR) ))
|
||||
return sizeof(dosdev_prefixW) / sizeof(WCHAR);
|
||||
!memicmpW( name->Buffer, dosdev_prefixW, ARRAY_SIZE( dosdev_prefixW )))
|
||||
return ARRAY_SIZE( dosdev_prefixW );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -3256,7 +3256,7 @@ NTSTATUS WINAPI NtQueryVolumeInformationFile( HANDLE handle, PIO_STATUS_BLOCK io
|
|||
}
|
||||
break;
|
||||
case FileFsAttributeInformation:
|
||||
if (length < offsetof( FILE_FS_ATTRIBUTE_INFORMATION, FileSystemName[sizeof(ntfsW)/sizeof(WCHAR)] ))
|
||||
if (length < offsetof( FILE_FS_ATTRIBUTE_INFORMATION, FileSystemName[ARRAY_SIZE( ntfsW )] ))
|
||||
io->u.Status = STATUS_BUFFER_TOO_SMALL;
|
||||
else
|
||||
{
|
||||
|
|
|
@ -124,7 +124,7 @@ static const SIZE_T HEAP_freeListSizes[] =
|
|||
{
|
||||
0x200, 0x400, 0x1000, ~0UL
|
||||
};
|
||||
#define HEAP_NB_FREE_LISTS (sizeof(HEAP_freeListSizes) / sizeof(HEAP_freeListSizes[0]) + HEAP_NB_SMALL_FREE_LISTS)
|
||||
#define HEAP_NB_FREE_LISTS (ARRAY_SIZE( HEAP_freeListSizes ) + HEAP_NB_SMALL_FREE_LISTS)
|
||||
|
||||
typedef union
|
||||
{
|
||||
|
|
|
@ -1878,7 +1878,7 @@ static NTSTATUS perform_relocations( void *module, SIZE_T len )
|
|||
if (!relocs->Size) return STATUS_SUCCESS;
|
||||
if (!relocs->VirtualAddress) return STATUS_CONFLICTING_ADDRESSES;
|
||||
|
||||
if (nt->FileHeader.NumberOfSections > sizeof(protect_old)/sizeof(protect_old[0]))
|
||||
if (nt->FileHeader.NumberOfSections > ARRAY_SIZE( protect_old ))
|
||||
return STATUS_INVALID_IMAGE_FORMAT;
|
||||
|
||||
sec = (const IMAGE_SECTION_HEADER *)((const char *)&nt->OptionalHeader +
|
||||
|
@ -2275,7 +2275,7 @@ static NTSTATUS find_actctx_dll( LPCWSTR libname, LPWSTR *fullname )
|
|||
strcpyW( p, user_shared_data->NtSystemRoot );
|
||||
p += strlenW(p);
|
||||
memcpy( p, winsxsW, sizeof(winsxsW) );
|
||||
p += sizeof(winsxsW) / sizeof(WCHAR);
|
||||
p += ARRAY_SIZE( winsxsW );
|
||||
memcpy( p, info->lpAssemblyDirectoryName, info->ulAssemblyDirectoryNameLength );
|
||||
p += info->ulAssemblyDirectoryNameLength / sizeof(WCHAR);
|
||||
*p++ = '\\';
|
||||
|
@ -2840,7 +2840,7 @@ NTSTATUS WINAPI LdrQueryImageFileExecutionOptions( const UNICODE_STRING *key, LP
|
|||
'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
|
||||
'I','m','a','g','e',' ','F','i','l','e',' ',
|
||||
'E','x','e','c','u','t','i','o','n',' ','O','p','t','i','o','n','s','\\'};
|
||||
WCHAR path[MAX_PATH + sizeof(optionsW)/sizeof(WCHAR)];
|
||||
WCHAR path[MAX_PATH + ARRAY_SIZE( optionsW )];
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
UNICODE_STRING name_str;
|
||||
HANDLE hkey;
|
||||
|
@ -2862,7 +2862,7 @@ NTSTATUS WINAPI LdrQueryImageFileExecutionOptions( const UNICODE_STRING *key, LP
|
|||
name_str.Length = sizeof(optionsW) + len;
|
||||
name_str.MaximumLength = name_str.Length;
|
||||
memcpy( path, optionsW, sizeof(optionsW) );
|
||||
memcpy( path + sizeof(optionsW)/sizeof(WCHAR), p, len );
|
||||
memcpy( path + ARRAY_SIZE( optionsW ), p, len );
|
||||
if ((status = NtOpenKey( &hkey, KEY_QUERY_VALUE, &attr ))) return status;
|
||||
|
||||
if (type == REG_DWORD)
|
||||
|
|
|
@ -1116,12 +1116,12 @@ NTSTATUS CDECL wine_unix_to_nt_file_name( const ANSI_STRING *name, UNICODE_STRIN
|
|||
goto done;
|
||||
}
|
||||
memcpy( nt->Buffer, unix_prefixW, sizeof(unix_prefixW) );
|
||||
ntdll_umbstowcs( 0, path, lenA, nt->Buffer + sizeof(unix_prefixW)/sizeof(WCHAR), lenW );
|
||||
lenW += sizeof(unix_prefixW)/sizeof(WCHAR);
|
||||
ntdll_umbstowcs( 0, path, lenA, nt->Buffer + ARRAY_SIZE( unix_prefixW ), lenW );
|
||||
lenW += ARRAY_SIZE( unix_prefixW );
|
||||
nt->Buffer[lenW] = 0;
|
||||
nt->Length = lenW * sizeof(WCHAR);
|
||||
nt->MaximumLength = nt->Length + sizeof(WCHAR);
|
||||
for (p = nt->Buffer + sizeof(unix_prefixW)/sizeof(WCHAR); *p; p++) if (*p == '/') *p = '\\';
|
||||
for (p = nt->Buffer + ARRAY_SIZE( unix_prefixW ); *p; p++) if (*p == '/') *p = '\\';
|
||||
status = STATUS_SUCCESS;
|
||||
}
|
||||
goto done;
|
||||
|
@ -1138,12 +1138,12 @@ NTSTATUS CDECL wine_unix_to_nt_file_name( const ANSI_STRING *name, UNICODE_STRIN
|
|||
|
||||
memcpy( nt->Buffer, prefixW, sizeof(prefixW) );
|
||||
nt->Buffer[4] += drive;
|
||||
ntdll_umbstowcs( 0, path, lenA, nt->Buffer + sizeof(prefixW)/sizeof(WCHAR), lenW );
|
||||
lenW += sizeof(prefixW)/sizeof(WCHAR);
|
||||
ntdll_umbstowcs( 0, path, lenA, nt->Buffer + ARRAY_SIZE( prefixW ), lenW );
|
||||
lenW += ARRAY_SIZE( prefixW );
|
||||
nt->Buffer[lenW] = 0;
|
||||
nt->Length = lenW * sizeof(WCHAR);
|
||||
nt->MaximumLength = nt->Length + sizeof(WCHAR);
|
||||
for (p = nt->Buffer + sizeof(prefixW)/sizeof(WCHAR); *p; p++) if (*p == '/') *p = '\\';
|
||||
for (p = nt->Buffer + ARRAY_SIZE( prefixW ); *p; p++) if (*p == '/') *p = '\\';
|
||||
|
||||
done:
|
||||
RtlFreeHeap( GetProcessHeap(), 0, cwd );
|
||||
|
|
|
@ -1197,10 +1197,10 @@ void WINAPI DECLSPEC_HIDDEN __regs_SNOOP_Entry( void **stack )
|
|||
|
||||
|
||||
while (*rets) {
|
||||
for (i=0;i<sizeof((*rets)->entry)/sizeof((*rets)->entry[0]);i++)
|
||||
for (i=0;i<ARRAY_SIZE( (*rets)->entry );i++)
|
||||
if (!(*rets)->entry[i].origreturn)
|
||||
break;
|
||||
if (i!=sizeof((*rets)->entry)/sizeof((*rets)->entry[0]))
|
||||
if (i!=ARRAY_SIZE( (*rets)->entry ))
|
||||
break;
|
||||
rets = &((*rets)->next);
|
||||
}
|
||||
|
|
|
@ -940,7 +940,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *sigcontext )
|
|||
*/
|
||||
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
|
||||
{
|
||||
if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
|
||||
if (sig >= ARRAY_SIZE(handlers)) return -1;
|
||||
if (handlers[sig] != NULL) return -2;
|
||||
handlers[sig] = wsh;
|
||||
return 0;
|
||||
|
|
|
@ -838,7 +838,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *sigcontext )
|
|||
*/
|
||||
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
|
||||
{
|
||||
if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
|
||||
if (sig >= ARRAY_SIZE(handlers)) return -1;
|
||||
if (handlers[sig] != NULL) return -2;
|
||||
handlers[sig] = wsh;
|
||||
return 0;
|
||||
|
|
|
@ -2221,7 +2221,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *sigcontext )
|
|||
*/
|
||||
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
|
||||
{
|
||||
if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
|
||||
if (sig >= ARRAY_SIZE(handlers)) return -1;
|
||||
if (handlers[sig] != NULL) return -2;
|
||||
handlers[sig] = wsh;
|
||||
return 0;
|
||||
|
|
|
@ -1006,7 +1006,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *sigcontext )
|
|||
*/
|
||||
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
|
||||
{
|
||||
if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
|
||||
if (sig >= ARRAY_SIZE(handlers)) return -1;
|
||||
if (handlers[sig] != NULL) return -2;
|
||||
handlers[sig] = wsh;
|
||||
return 0;
|
||||
|
|
|
@ -3247,7 +3247,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *ucontext )
|
|||
*/
|
||||
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
|
||||
{
|
||||
if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
|
||||
if (sig >= ARRAY_SIZE(handlers)) return -1;
|
||||
if (handlers[sig] != NULL) return -2;
|
||||
handlers[sig] = wsh;
|
||||
return 0;
|
||||
|
|
|
@ -605,8 +605,7 @@ static BOOL match_tz_name(const char* tz_name,
|
|||
return TRUE;
|
||||
|
||||
strcpyW(key.key_name, reg_tzi->TimeZoneKeyName);
|
||||
match = bsearch(&key, mapping, sizeof(mapping)/sizeof(mapping[0]),
|
||||
sizeof(mapping[0]), compare_tz_key);
|
||||
match = bsearch(&key, mapping, ARRAY_SIZE(mapping), sizeof(mapping[0]), compare_tz_key);
|
||||
if (!match)
|
||||
return TRUE;
|
||||
|
||||
|
|
|
@ -1416,7 +1416,7 @@ static NTSTATUS map_image( HANDLE hmapping, ACCESS_MASK access, int fd, SIZE_T m
|
|||
memset( ptr + header_size, 0, header_end - (ptr + header_size) );
|
||||
if ((char *)(nt + 1) > header_end) goto error;
|
||||
header_start = (char*)&nt->OptionalHeader+nt->FileHeader.SizeOfOptionalHeader;
|
||||
if (nt->FileHeader.NumberOfSections > sizeof(sections)/sizeof(*sections)) goto error;
|
||||
if (nt->FileHeader.NumberOfSections > ARRAY_SIZE( sections )) goto error;
|
||||
if (header_start + sizeof(*sections) * nt->FileHeader.NumberOfSections > header_end) goto error;
|
||||
/* Some applications (e.g. the Steam version of Borderlands) map over the top of the section headers,
|
||||
* copying the headers into local memory is necessary to properly load such applications. */
|
||||
|
|
Loading…
Reference in New Issue