[PATCH 1/2] advapi32: Introduce ARRAY_SIZE macro.
Gijs Vermeulen
gijsvrm at gmail.com
Mon Mar 19 14:22:30 CDT 2018
Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
---
dlls/advapi32/advapi32_misc.h | 2 ++
dlls/advapi32/cred.c | 12 ++++++------
dlls/advapi32/registry.c | 4 +---
dlls/advapi32/security.c | 22 +++++++++++-----------
4 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/dlls/advapi32/advapi32_misc.h b/dlls/advapi32/advapi32_misc.h
index 4ced1e8a64..be3873a4b4 100644
--- a/dlls/advapi32/advapi32_misc.h
+++ b/dlls/advapi32/advapi32_misc.h
@@ -25,6 +25,8 @@
#include "winnls.h"
#include "wine/heap.h"
+#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
+
const char * debugstr_sid(PSID sid) DECLSPEC_HIDDEN;
BOOL ADVAPI_IsLocalComputer(LPCWSTR ServerName) DECLSPEC_HIDDEN;
BOOL ADVAPI_GetComputerSid(PSID sid) DECLSPEC_HIDDEN;
diff --git a/dlls/advapi32/cred.c b/dlls/advapi32/cred.c
index df4142113c..49a1c34d1c 100644
--- a/dlls/advapi32/cred.c
+++ b/dlls/advapi32/cred.c
@@ -248,7 +248,7 @@ static DWORD mac_read_credential_from_item(SecKeychainItemRef item, BOOL require
SecKeychainAttributeList *attr_list;
UInt32 info_tags[] = { kSecServiceItemAttr, kSecAccountItemAttr,
kSecCommentItemAttr, kSecCreationDateItemAttr };
- info.count = sizeof(info_tags)/sizeof(info_tags[0]);
+ info.count = ARRAY_SIZE(info_tags);
info.tag = info_tags;
info.format = NULL;
status = SecKeychainItemCopyAttributesAndData(item, &info, NULL, &attr_list, &cred_blob_len, &cred_blob);
@@ -641,12 +641,12 @@ static LPWSTR get_key_name_for_target(LPCWSTR target_name, DWORD type)
if (type == CRED_TYPE_GENERIC)
{
prefix = wszGenericPrefix;
- len += sizeof(wszGenericPrefix)/sizeof(wszGenericPrefix[0]);
+ len += ARRAY_SIZE(wszGenericPrefix);
}
else
{
prefix = wszDomPasswdPrefix;
- len += sizeof(wszDomPasswdPrefix)/sizeof(wszDomPasswdPrefix[0]);
+ len += ARRAY_SIZE(wszDomPasswdPrefix);
}
key_name = heap_alloc(len * sizeof(WCHAR));
@@ -792,7 +792,7 @@ static DWORD mac_enumerate_credentials(LPCWSTR filter, PCREDENTIALW *credentials
UInt32 info_tags[] = { kSecServiceItemAttr };
BOOL match;
- info.count = sizeof(info_tags)/sizeof(info_tags[0]);
+ info.count = ARRAY_SIZE(info_tags);
info.tag = info_tags;
info.format = NULL;
status = SecKeychainItemCopyAttributesAndData(item, &info, NULL, &attr_list, NULL, NULL);
@@ -851,7 +851,7 @@ static DWORD mac_delete_credential(LPCWSTR TargetName)
UInt32 info_tags[] = { kSecServiceItemAttr };
LPWSTR target_name;
INT str_len;
- info.count = sizeof(info_tags)/sizeof(info_tags[0]);
+ info.count = ARRAY_SIZE(info_tags);
info.tag = info_tags;
info.format = NULL;
status = SecKeychainItemCopyAttributesAndData(item, &info, NULL, &attr_list, NULL, NULL);
@@ -1439,7 +1439,7 @@ BOOL WINAPI CredReadW(LPCWSTR TargetName, DWORD Type, DWORD Flags, PCREDENTIALW
UInt32 info_tags[] = { kSecServiceItemAttr };
LPWSTR target_name;
INT str_len;
- info.count = sizeof(info_tags)/sizeof(info_tags[0]);
+ info.count = ARRAY_SIZE(info_tags);
info.tag = info_tags;
info.format = NULL;
status = SecKeychainItemCopyAttributesAndData(item, &info, NULL, &attr_list, NULL, NULL);
diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c
index 7a26fffc55..44b4bedb07 100644
--- a/dlls/advapi32/registry.c
+++ b/dlls/advapi32/registry.c
@@ -84,9 +84,7 @@ static const WCHAR * const root_key_names[] =
name_DYN_DATA
};
-#define NB_SPECIAL_ROOT_KEYS (sizeof(root_key_names)/sizeof(root_key_names[0]))
-
-static HKEY special_root_keys[NB_SPECIAL_ROOT_KEYS];
+static HKEY special_root_keys[ARRAY_SIZE(root_key_names)];
static BOOL hkcu_cache_disabled;
static const BOOL is_win64 = (sizeof(void *) > sizeof(int));
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 6f4fb44ae9..f081b6b803 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -964,7 +964,7 @@ CreateWellKnownSid( WELL_KNOWN_SID_TYPE WellKnownSidType,
return FALSE;
}
- for (i = 0; i < sizeof(WellKnownSids)/sizeof(WellKnownSids[0]); i++) {
+ for (i = 0; i < ARRAY_SIZE(WellKnownSids); i++) {
if (WellKnownSids[i].Type == WellKnownSidType) {
DWORD length = GetSidLengthRequired(WellKnownSids[i].Sid.SubAuthorityCount);
@@ -991,7 +991,7 @@ CreateWellKnownSid( WELL_KNOWN_SID_TYPE WellKnownSidType,
return FALSE;
}
- for (i = 0; i < sizeof(WellKnownRids)/sizeof(WellKnownRids[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(WellKnownRids); i++)
if (WellKnownRids[i].Type == WellKnownSidType) {
UCHAR domain_subauth = *GetSidSubAuthorityCount(DomainSid);
DWORD domain_sid_length = GetSidLengthRequired(domain_subauth);
@@ -1028,7 +1028,7 @@ IsWellKnownSid( PSID pSid, WELL_KNOWN_SID_TYPE WellKnownSidType )
unsigned int i;
TRACE("(%s, %d)\n", debugstr_sid(pSid), WellKnownSidType);
- for (i = 0; i < sizeof(WellKnownSids)/sizeof(WellKnownSids[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(WellKnownSids); i++)
if (WellKnownSids[i].Type == WellKnownSidType)
if (EqualSid(pSid, (PSID)&(WellKnownSids[i].Sid.Revision)))
return TRUE;
@@ -2252,7 +2252,7 @@ LookupAccountSidW(
/* check the well known SIDs first */
for (i = 0; i <= WinAccountProtectedUsersSid; i++) {
if (IsWellKnownSid(sid, i)) {
- for (j = 0; j < (sizeof(ACCOUNT_SIDS) / sizeof(ACCOUNT_SIDS[0])); j++) {
+ for (j = 0; j < ARRAY_SIZE(ACCOUNT_SIDS); j++) {
if (ACCOUNT_SIDS[j].type == i) {
ac = ACCOUNT_SIDS[j].account;
dm = ACCOUNT_SIDS[j].domain;
@@ -2937,7 +2937,7 @@ BOOL lookup_local_wellknown_name( const LSA_UNICODE_STRING *account_and_domain,
*handled = FALSE;
split_domain_account( account_and_domain, &account, &domain );
- for (i = 0; i < sizeof(ACCOUNT_SIDS) / sizeof(ACCOUNT_SIDS[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(ACCOUNT_SIDS); i++)
{
/* check domain first */
if (domain.Buffer && !match_domain( i, &domain )) continue;
@@ -4926,7 +4926,7 @@ static BOOL DumpSidNumeric(PSID psid, WCHAR **pwptr, ULONG *plen)
static BOOL DumpSid(PSID psid, WCHAR **pwptr, ULONG *plen)
{
size_t i;
- for (i = 0; i < sizeof(WellKnownSids) / sizeof(WellKnownSids[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(WellKnownSids); i++)
{
if (WellKnownSids[i].wstr[0] && EqualSid(psid, (PSID)&(WellKnownSids[i].Sid.Revision)))
{
@@ -4983,7 +4983,7 @@ static void DumpRights(DWORD mask, WCHAR **pwptr, ULONG *plen)
return;
/* first check if the right have name */
- for (i = 0; i < sizeof(AceRights)/sizeof(AceRights[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(AceRights); i++)
{
if (AceRights[i].wstr == NULL)
break;
@@ -5633,11 +5633,11 @@ static DWORD ComputeStringSidSize(LPCWSTR StringSid)
{
unsigned int i;
- for (i = 0; i < sizeof(WellKnownSids)/sizeof(WellKnownSids[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(WellKnownSids); i++)
if (!strncmpW(WellKnownSids[i].wstr, StringSid, 2))
return GetSidLengthRequired(WellKnownSids[i].Sid.SubAuthorityCount);
- for (i = 0; i < sizeof(WellKnownRids)/sizeof(WellKnownRids[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(WellKnownRids); i++)
if (!strncmpW(WellKnownRids[i].wstr, StringSid, 2))
{
MAX_SID local;
@@ -5740,7 +5740,7 @@ static BOOL ParseStringSidToSid(LPCWSTR StringSid, PSID pSid, LPDWORD cBytes)
unsigned int i;
pisid->Revision = SDDL_REVISION;
- for (i = 0; i < sizeof(WellKnownSids)/sizeof(WellKnownSids[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(WellKnownSids); i++)
if (!strncmpW(WellKnownSids[i].wstr, StringSid, 2))
{
DWORD j;
@@ -5751,7 +5751,7 @@ static BOOL ParseStringSidToSid(LPCWSTR StringSid, PSID pSid, LPDWORD cBytes)
bret = TRUE;
}
- for (i = 0; i < sizeof(WellKnownRids)/sizeof(WellKnownRids[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(WellKnownRids); i++)
if (!strncmpW(WellKnownRids[i].wstr, StringSid, 2))
{
ADVAPI_GetComputerSid(pisid);
--
2.13.6
More information about the wine-devel
mailing list