tidy-up: use CURL_ARRAYSIZE()

Follow-up to 13b2ea68f0 #16111

Closes #16381
This commit is contained in:
Viktor Szakats 2025-02-18 14:48:18 +01:00
parent 1b710381ca
commit 3fd1dfc829
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
35 changed files with 52 additions and 64 deletions

View File

@ -619,7 +619,7 @@ static int proxy_h2_fr_print(const nghttp2_frame *frame,
frame->hd.flags & NGHTTP2_FLAG_ACK); frame->hd.flags & NGHTTP2_FLAG_ACK);
case NGHTTP2_GOAWAY: { case NGHTTP2_GOAWAY: {
char scratch[128]; char scratch[128];
size_t s_len = sizeof(scratch)/sizeof(scratch[0]); size_t s_len = CURL_ARRAYSIZE(scratch);
size_t len = (frame->goaway.opaque_data_len < s_len) ? size_t len = (frame->goaway.opaque_data_len < s_len) ?
frame->goaway.opaque_data_len : s_len-1; frame->goaway.opaque_data_len : s_len-1;
if(len) if(len)

View File

@ -4456,7 +4456,7 @@ static struct name_const H2_NON_FIELD[] = {
static bool h2_non_field(const char *name, size_t namelen) static bool h2_non_field(const char *name, size_t namelen)
{ {
size_t i; size_t i;
for(i = 0; i < sizeof(H2_NON_FIELD)/sizeof(H2_NON_FIELD[0]); ++i) { for(i = 0; i < CURL_ARRAYSIZE(H2_NON_FIELD); ++i) {
if(namelen < H2_NON_FIELD[i].namelen) if(namelen < H2_NON_FIELD[i].namelen)
return FALSE; return FALSE;
if(namelen == H2_NON_FIELD[i].namelen && if(namelen == H2_NON_FIELD[i].namelen &&

View File

@ -1252,7 +1252,7 @@ static int fr_print(const nghttp2_frame *frame, char *buffer, size_t blen)
} }
case NGHTTP2_GOAWAY: { case NGHTTP2_GOAWAY: {
char scratch[128]; char scratch[128];
size_t s_len = sizeof(scratch)/sizeof(scratch[0]); size_t s_len = CURL_ARRAYSIZE(scratch);
size_t len = (frame->goaway.opaque_data_len < s_len) ? size_t len = (frame->goaway.opaque_data_len < s_len) ?
frame->goaway.opaque_data_len : s_len-1; frame->goaway.opaque_data_len : s_len-1;
if(len) if(len)

View File

@ -1742,7 +1742,7 @@ const char *Curl_mime_contenttype(const char *filename)
const char *nameend = filename + len1; const char *nameend = filename + len1;
unsigned int i; unsigned int i;
for(i = 0; i < sizeof(ctts) / sizeof(ctts[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(ctts); i++) {
size_t len2 = strlen(ctts[i].extension); size_t len2 = strlen(ctts[i].extension);
if(len1 >= len2 && strcasecompare(nameend - len2, ctts[i].extension)) if(len1 >= len2 && strcasecompare(nameend - len2, ctts[i].extension))

View File

@ -277,7 +277,7 @@ static CURLcode oldap_url_parse(struct Curl_easy *data, LDAPURLDesc **ludp)
result = rc == LDAP_URL_ERR_MEM ? CURLE_OUT_OF_MEMORY : result = rc == LDAP_URL_ERR_MEM ? CURLE_OUT_OF_MEMORY :
CURLE_URL_MALFORMAT; CURLE_URL_MALFORMAT;
rc -= LDAP_URL_SUCCESS; rc -= LDAP_URL_SUCCESS;
if((size_t) rc < sizeof(url_errs) / sizeof(url_errs[0])) if((size_t) rc < CURL_ARRAYSIZE(url_errs))
msg = url_errs[rc]; msg = url_errs[rc];
failf(data, "LDAP local: %s", msg); failf(data, "LDAP local: %s", msg);
} }

View File

@ -256,7 +256,7 @@ static int checktz(const char *check, size_t len)
if(len > 4) /* longer than any valid timezone */ if(len > 4) /* longer than any valid timezone */
return -1; return -1;
for(i = 0; i < sizeof(tz)/sizeof(tz[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(tz); i++) {
size_t ilen = strlen(what->name); size_t ilen = strlen(what->name);
if((ilen == len) && if((ilen == len) &&
strncasecompare(check, what->name, len)) strncasecompare(check, what->name, len))

View File

@ -791,7 +791,7 @@ get_winapi_error(int err, char *buf, size_t buflen)
FormatMessageW -> wcstombs is used for Windows CE compatibility. */ FormatMessageW -> wcstombs is used for Windows CE compatibility. */
if(FormatMessageW((FORMAT_MESSAGE_FROM_SYSTEM | if(FormatMessageW((FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS), NULL, (DWORD)err, FORMAT_MESSAGE_IGNORE_INSERTS), NULL, (DWORD)err,
LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL)) { LANG_NEUTRAL, wbuf, CURL_ARRAYSIZE(wbuf), NULL)) {
size_t written = wcstombs(buf, wbuf, buflen - 1); size_t written = wcstombs(buf, wbuf, buflen - 1);
if(written != (size_t)-1) if(written != (size_t)-1)
buf[written] = '\0'; buf[written] = '\0';

View File

@ -1759,7 +1759,7 @@ static ssize_t read_pkt_to_send(void *userp,
if(ctx->h3conn && ngtcp2_conn_get_max_data_left(ctx->qconn)) { if(ctx->h3conn && ngtcp2_conn_get_max_data_left(ctx->qconn)) {
veccnt = nghttp3_conn_writev_stream(ctx->h3conn, &stream_id, &fin, vec, veccnt = nghttp3_conn_writev_stream(ctx->h3conn, &stream_id, &fin, vec,
sizeof(vec) / sizeof(vec[0])); CURL_ARRAYSIZE(vec));
if(veccnt < 0) { if(veccnt < 0) {
failf(x->data, "nghttp3_conn_writev_stream returned error: %s", failf(x->data, "nghttp3_conn_writev_stream returned error: %s",
nghttp3_strerror((int)veccnt)); nghttp3_strerror((int)veccnt));

View File

@ -369,7 +369,7 @@ static void state(struct Curl_easy *data, sshstate nowstate)
}; };
/* a precaution to make sure the lists are in sync */ /* a precaution to make sure the lists are in sync */
DEBUGASSERT(sizeof(names)/sizeof(names[0]) == SSH_LAST); DEBUGASSERT(CURL_ARRAYSIZE(names) == SSH_LAST);
if(sshc->state != nowstate) { if(sshc->state != nowstate) {
infof(data, "SFTP %p state change from %s to %s", infof(data, "SFTP %p state change from %s to %s",

View File

@ -207,7 +207,7 @@ static void state(struct Curl_easy *data, sshstate nowstate)
}; };
/* a precaution to make sure the lists are in sync */ /* a precaution to make sure the lists are in sync */
DEBUGASSERT(sizeof(names)/sizeof(names[0]) == SSH_LAST); DEBUGASSERT(CURL_ARRAYSIZE(names) == SSH_LAST);
if(sshc->state != nowstate) { if(sshc->state != nowstate) {
infof(data, "wolfssh %p state change from %s to %s", infof(data, "wolfssh %p state change from %s to %s",

View File

@ -484,7 +484,7 @@ static const uint16_t ciphertable[] = {
BR_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, /* 0xCCA9 */ BR_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, /* 0xCCA9 */
}; };
#define NUM_OF_CIPHERS (sizeof(ciphertable) / sizeof(ciphertable[0])) #define NUM_OF_CIPHERS CURL_ARRAYSIZE(ciphertable)
static CURLcode bearssl_set_selected_ciphers(struct Curl_easy *data, static CURLcode bearssl_set_selected_ciphers(struct Curl_easy *data,
br_ssl_engine_context *ssl_eng, br_ssl_engine_context *ssl_eng,

View File

@ -725,7 +725,7 @@ static const struct cs_entry cs_list [] = {
CS_ENTRY(0xCCAE, RSA,PSK,CHACHA20,POLY1305,,,,), CS_ENTRY(0xCCAE, RSA,PSK,CHACHA20,POLY1305,,,,),
#endif #endif
}; };
#define CS_LIST_LEN (sizeof(cs_list) / sizeof(cs_list[0])) #define CS_LIST_LEN CURL_ARRAYSIZE(cs_list)
static int cs_str_to_zip(const char *cs_str, size_t cs_len, static int cs_str_to_zip(const char *cs_str, size_t cs_len,
uint8_t zip[6]) uint8_t zip[6])

View File

@ -211,9 +211,6 @@ static const uint16_t default_ciphers[] = {
#endif /* CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 */ #endif /* CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 */
}; };
#define DEFAULT_CIPHERS_LEN sizeof(default_ciphers)/sizeof(default_ciphers[0])
/* pinned public key support tests */ /* pinned public key support tests */
/* version 1 supports macOS 10.12+ and iOS 10+ */ /* version 1 supports macOS 10.12+ and iOS 10+ */
@ -925,7 +922,7 @@ static CURLcode sectransp_set_default_ciphers(struct Curl_easy *data,
/* Intersect the ciphers supported by Secure Transport with the default /* Intersect the ciphers supported by Secure Transport with the default
* ciphers, using the order of the former. */ * ciphers, using the order of the former. */
for(i = 0; i < supported_len; i++) { for(i = 0; i < supported_len; i++) {
for(j = 0; j < DEFAULT_CIPHERS_LEN; j++) { for(j = 0; j < CURL_ARRAYSIZE(default_ciphers); j++) {
if(default_ciphers[j] == ciphers[i]) { if(default_ciphers[j] == ciphers[i]) {
ciphers[count++] = ciphers[i]; ciphers[count++] = ciphers[i];
break; break;

View File

@ -85,7 +85,7 @@ static const char *ws_frame_name_of_op(unsigned char proto_opcode)
{ {
unsigned char opcode = proto_opcode & WSBIT_OPCODE_MASK; unsigned char opcode = proto_opcode & WSBIT_OPCODE_MASK;
size_t i; size_t i;
for(i = 0; i < sizeof(WS_FRAMES)/sizeof(WS_FRAMES[0]); ++i) { for(i = 0; i < CURL_ARRAYSIZE(WS_FRAMES); ++i) {
if(WS_FRAMES[i].proto_opcode == opcode) if(WS_FRAMES[i].proto_opcode == opcode)
return WS_FRAMES[i].name; return WS_FRAMES[i].name;
} }
@ -96,7 +96,7 @@ static int ws_frame_op2flags(unsigned char proto_opcode)
{ {
unsigned char opcode = proto_opcode & WSBIT_OPCODE_MASK; unsigned char opcode = proto_opcode & WSBIT_OPCODE_MASK;
size_t i; size_t i;
for(i = 0; i < sizeof(WS_FRAMES)/sizeof(WS_FRAMES[0]); ++i) { for(i = 0; i < CURL_ARRAYSIZE(WS_FRAMES); ++i) {
if(WS_FRAMES[i].proto_opcode == opcode) if(WS_FRAMES[i].proto_opcode == opcode)
return WS_FRAMES[i].flags; return WS_FRAMES[i].flags;
} }
@ -106,7 +106,7 @@ static int ws_frame_op2flags(unsigned char proto_opcode)
static unsigned char ws_frame_flags2op(int flags) static unsigned char ws_frame_flags2op(int flags)
{ {
size_t i; size_t i;
for(i = 0; i < sizeof(WS_FRAMES)/sizeof(WS_FRAMES[0]); ++i) { for(i = 0; i < CURL_ARRAYSIZE(WS_FRAMES); ++i) {
if(WS_FRAMES[i].flags & flags) if(WS_FRAMES[i].flags & flags)
return (unsigned char)WS_FRAMES[i].proto_opcode; return (unsigned char)WS_FRAMES[i].proto_opcode;
} }
@ -747,7 +747,7 @@ CURLcode Curl_ws_request(struct Curl_easy *data, struct dynbuf *req)
} }
strcpy(keyval, randstr); strcpy(keyval, randstr);
free(randstr); free(randstr);
for(i = 0; !result && (i < sizeof(heads)/sizeof(heads[0])); i++) { for(i = 0; !result && (i < CURL_ARRAYSIZE(heads)); i++) {
if(!Curl_checkheaders(data, STRCONST(heads[i].name))) { if(!Curl_checkheaders(data, STRCONST(heads[i].name))) {
result = Curl_dyn_addf(req, "%s %s\r\n", heads[i].name, result = Curl_dyn_addf(req, "%s %s\r\n", heads[i].name,
heads[i].val); heads[i].val);

View File

@ -265,7 +265,7 @@ size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
WCHAR prefix[3] = {0}; /* UTF-16 (1-2 WCHARs) + NUL */ WCHAR prefix[3] = {0}; /* UTF-16 (1-2 WCHARs) + NUL */
if(MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)outs->utf8seq, -1, if(MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)outs->utf8seq, -1,
prefix, sizeof(prefix)/sizeof(prefix[0]))) { prefix, CURL_ARRAYSIZE(prefix))) {
DEBUGASSERT(prefix[2] == L'\0'); DEBUGASSERT(prefix[2] == L'\0');
if(!WriteConsoleW( if(!WriteConsoleW(
(HANDLE) fhnd, (HANDLE) fhnd,

View File

@ -754,7 +754,7 @@ const struct LongShort *findshortopt(char letter)
if(!singles_done) { if(!singles_done) {
unsigned int j; unsigned int j;
for(j = 0; j < sizeof(aliases)/sizeof(aliases[0]); j++) { for(j = 0; j < CURL_ARRAYSIZE(aliases); j++) {
if(aliases[j].letter != ' ') { if(aliases[j].letter != ' ') {
unsigned char l = (unsigned char)aliases[j].letter; unsigned char l = (unsigned char)aliases[j].letter;
singles[l - ' '] = &aliases[j]; singles[l - ' '] = &aliases[j];
@ -1016,7 +1016,7 @@ const struct LongShort *findlongopt(const char *opt)
struct LongShort key; struct LongShort key;
key.lname = opt; key.lname = opt;
return bsearch(&key, aliases, sizeof(aliases)/sizeof(aliases[0]), return bsearch(&key, aliases, CURL_ARRAYSIZE(aliases),
sizeof(aliases[0]), findarg); sizeof(aliases[0]), findarg);
} }
@ -1961,7 +1961,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
const struct TOSEntry *entry; const struct TOSEntry *entry;
find.name = nextarg; find.name = nextarg;
entry = bsearch(&find, tos_entries, entry = bsearch(&find, tos_entries,
sizeof(tos_entries)/sizeof(*tos_entries), CURL_ARRAYSIZE(tos_entries),
sizeof(*tos_entries), find_tos); sizeof(*tos_entries), find_tos);
if(entry) if(entry)
config->ip_tos = entry->value; config->ip_tos = entry->value;

View File

@ -127,7 +127,7 @@ static struct feature_name_presentp {
{NULL, NULL, 0} {NULL, NULL, 0}
}; };
static const char *fnames[sizeof(maybe_feature) / sizeof(maybe_feature[0])]; static const char *fnames[CURL_ARRAYSIZE(maybe_feature)];
const char * const *feature_names = fnames; const char * const *feature_names = fnames;
size_t feature_count; size_t feature_count;

View File

@ -793,7 +793,7 @@ ParameterError str2tls_max(long *val, const char *str)
size_t i = 0; size_t i = 0;
if(!str) if(!str)
return PARAM_REQUIRES_PARAMETER; return PARAM_REQUIRES_PARAMETER;
for(i = 0; i < sizeof(tls_max_array)/sizeof(tls_max_array[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(tls_max_array); i++) {
if(!strcmp(str, tls_max_array[i].tls_max_str)) { if(!strcmp(str, tls_max_array[i].tls_max_str)) {
*val = tls_max_array[i].tls_max; *val = tls_max_array[i].tls_max;
return PARAM_OK; return PARAM_OK;

View File

@ -577,7 +577,7 @@ void ourWriteOut(struct OperationConfig *config, struct per_transfer *per,
if(!curlx_dyn_addn(&name, ptr, vlen)) { if(!curlx_dyn_addn(&name, ptr, vlen)) {
find.name = curlx_dyn_ptr(&name); find.name = curlx_dyn_ptr(&name);
wv = bsearch(&find, wv = bsearch(&find,
variables, sizeof(variables)/sizeof(variables[0]), variables, CURL_ARRAYSIZE(variables),
sizeof(variables[0]), matchvar); sizeof(variables[0]), matchvar);
} }
if(wv) { if(wv) {
@ -601,7 +601,7 @@ void ourWriteOut(struct OperationConfig *config, struct per_transfer *per,
break; break;
case VAR_JSON: case VAR_JSON:
ourWriteOutJSON(stream, variables, ourWriteOutJSON(stream, variables,
sizeof(variables)/sizeof(variables[0]), CURL_ARRAYSIZE(variables),
per, per_result); per, per_result);
break; break;
case VAR_HEADER_JSON: case VAR_HEADER_JSON:

View File

@ -169,7 +169,7 @@ int main(int argc, char **argv)
test_func = NULL; test_func = NULL;
{ {
size_t tmp; size_t tmp;
for(tmp = 0; tmp < (sizeof(s_tests)/sizeof((s_tests)[0])); ++tmp) { for(tmp = 0; tmp < CURL_ARRAYSIZE(s_tests); ++tmp) {
if(strcmp(test_name, s_tests[tmp].name) == 0) { if(strcmp(test_name, s_tests[tmp].name) == 0) {
test_func = s_tests[tmp].ptr; test_func = s_tests[tmp].ptr;
break; break;

View File

@ -143,7 +143,7 @@ CURLcode test(char *URL)
return TEST_ERR_MAJOR_BAD; return TEST_ERR_MAJOR_BAD;
} }
for(i = 0; i < sizeof(testparams) / sizeof(testparams[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(testparams); i++) {
curl = curl_easy_init(); curl = curl_easy_init();
if(!curl) { if(!curl) {
fprintf(stderr, "curl_easy_init() failed\n"); fprintf(stderr, "curl_easy_init() failed\n");

View File

@ -28,7 +28,7 @@
/* The size of data should be kept below MAX_INITIAL_POST_SIZE! */ /* The size of data should be kept below MAX_INITIAL_POST_SIZE! */
static char testdata[]="this is a short string.\n"; static char testdata[]="this is a short string.\n";
static size_t data_size = sizeof(testdata) / sizeof(char); static size_t data_size = CURL_ARRAYSIZE(testdata);
static int progress_callback(void *clientp, double dltotal, double dlnow, static int progress_callback(void *clientp, double dltotal, double dlnow,
double ultotal, double ulnow) double ultotal, double ulnow)

View File

@ -142,7 +142,7 @@ UNITTEST_START
testdata->progress.t_startop.tv_sec = BASE; testdata->progress.t_startop.tv_sec = BASE;
testdata->progress.t_startop.tv_usec = 0; testdata->progress.t_startop.tv_usec = 0;
for(i = 0; i < sizeof(run)/sizeof(run[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(run); i++) {
timediff_t timeout; timediff_t timeout;
NOW(run[i].now_s, run[i].now_us); NOW(run[i].now_s, run[i].now_us);
TIMEOUTS(run[i].timeout_ms, run[i].connecttimeout_ms); TIMEOUTS(run[i].timeout_ms, run[i].connecttimeout_ms);

View File

@ -275,7 +275,6 @@ enum system {
UNITTEST_START UNITTEST_START
{ {
int testnum = sizeof(tests) / sizeof(struct testcase);
int i; int i;
enum system machine; enum system machine;
@ -292,7 +291,7 @@ UNITTEST_START
machine = SYSTEM_CUSTOM; machine = SYSTEM_CUSTOM;
#endif #endif
for(i = 0; i < testnum; i++) { for(i = 0; i < (int)CURL_ARRAYSIZE(tests); i++) {
int result = tests[i].result; int result = tests[i].result;
int rc = Curl_fnmatch(NULL, tests[i].pattern, tests[i].string); int rc = Curl_fnmatch(NULL, tests[i].pattern, tests[i].string);
if(result & (LINUX_DIFFER|MAC_DIFFER)) { if(result & (LINUX_DIFFER|MAC_DIFFER)) {

View File

@ -51,7 +51,7 @@ UNITTEST_START
}; };
size_t i; size_t i;
for(i = 0; i < sizeof(tests)/sizeof(tests[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(tests); i++) {
timediff_t result = Curl_timediff(tests[i].first, tests[i].second); timediff_t result = Curl_timediff(tests[i].first, tests[i].second);
if(result != tests[i].result) { if(result != tests[i].result) {
printf("%ld.%06u to %ld.%06u got %d, but expected %ld\n", printf("%ld.%06u to %ld.%06u got %d, but expected %ld\n",

View File

@ -77,7 +77,7 @@ UNITTEST_START
{ "/.", "/" }, { "/.", "/" },
}; };
for(i = 0; i < sizeof(pairs)/sizeof(pairs[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(pairs); i++) {
char *out; char *out;
int err = dedotdotify(pairs[i].input, strlen(pairs[i].input), &out); int err = dedotdotify(pairs[i].input, strlen(pairs[i].input), &out);
abort_unless(err == 0, "returned error"); abort_unless(err == 0, "returned error");

View File

@ -210,7 +210,7 @@ UNITTEST_START
size_t i; size_t i;
for(i = 0; i < sizeof(data) / sizeof(data[0]); ++i) { for(i = 0; i < CURL_ARRAYSIZE(data); ++i) {
char *output = NULL; char *output = NULL;
char *flagstr = NULL; char *flagstr = NULL;
char *received_ccstr = NULL; char *received_ccstr = NULL;

View File

@ -109,14 +109,13 @@ static const struct testcase tests[] = {
UNITTEST_START UNITTEST_START
{ {
int i; int i;
int testnum = sizeof(tests) / sizeof(struct testcase);
struct Curl_multi *multi = NULL; struct Curl_multi *multi = NULL;
struct Curl_easy *easy = NULL; struct Curl_easy *easy = NULL;
struct curl_slist *list = NULL; struct curl_slist *list = NULL;
for(i = 0; i < testnum; ++i) { for(i = 0; i < (int)CURL_ARRAYSIZE(tests); ++i) {
int j; int j;
int addressnum = sizeof(tests[i].address) / sizeof(*tests[i].address); int addressnum = CURL_ARRAYSIZE(tests[i].address);
struct Curl_addrinfo *addr; struct Curl_addrinfo *addr;
struct Curl_dns_entry *dns; struct Curl_dns_entry *dns;
void *entry_id; void *entry_id;

View File

@ -101,7 +101,6 @@ static const struct testcase tests[] = {
UNITTEST_START UNITTEST_START
{ {
int i; int i;
int testnum = sizeof(tests) / sizeof(struct testcase);
struct Curl_multi *multi = NULL; struct Curl_multi *multi = NULL;
struct Curl_easy *easy = NULL; struct Curl_easy *easy = NULL;
struct curl_slist *list = NULL; struct curl_slist *list = NULL;
@ -110,9 +109,9 @@ UNITTEST_START
and also clean cache after the loop. In contrast,for example, and also clean cache after the loop. In contrast,for example,
test 1607 sets up and cleans cache on each iteration. */ test 1607 sets up and cleans cache on each iteration. */
for(i = 0; i < testnum; ++i) { for(i = 0; i < (int)CURL_ARRAYSIZE(tests); ++i) {
int j; int j;
int addressnum = sizeof (tests[i].address) / sizeof (*tests[i].address); int addressnum = CURL_ARRAYSIZE(tests[i].address);
struct Curl_addrinfo *addr; struct Curl_addrinfo *addr;
struct Curl_dns_entry *dns; struct Curl_dns_entry *dns;
void *entry_id; void *entry_id;

View File

@ -122,35 +122,35 @@ UNITTEST_START
computed_hash = output_buf; computed_hash = output_buf;
Curl_sha512_256it(output_buf, (const unsigned char *) test_str1, Curl_sha512_256it(output_buf, (const unsigned char *) test_str1,
(sizeof(test_str1) / sizeof(char)) - 1); CURL_ARRAYSIZE(test_str1) - 1);
verify_memory(computed_hash, precomp_hash1, CURL_SHA512_256_DIGEST_LENGTH); verify_memory(computed_hash, precomp_hash1, CURL_SHA512_256_DIGEST_LENGTH);
Curl_sha512_256it(output_buf, (const unsigned char *) test_str2, Curl_sha512_256it(output_buf, (const unsigned char *) test_str2,
(sizeof(test_str2) / sizeof(char)) - 1); CURL_ARRAYSIZE(test_str2) - 1);
verify_memory(computed_hash, precomp_hash2, CURL_SHA512_256_DIGEST_LENGTH); verify_memory(computed_hash, precomp_hash2, CURL_SHA512_256_DIGEST_LENGTH);
Curl_sha512_256it(output_buf, (const unsigned char *) test_str3, Curl_sha512_256it(output_buf, (const unsigned char *) test_str3,
(sizeof(test_str3) / sizeof(char)) - 1); CURL_ARRAYSIZE(test_str3) - 1);
verify_memory(computed_hash, precomp_hash3, CURL_SHA512_256_DIGEST_LENGTH); verify_memory(computed_hash, precomp_hash3, CURL_SHA512_256_DIGEST_LENGTH);
Curl_sha512_256it(output_buf, (const unsigned char *) test_str4, Curl_sha512_256it(output_buf, (const unsigned char *) test_str4,
(sizeof(test_str4) / sizeof(char)) - 1); CURL_ARRAYSIZE(test_str4) - 1);
verify_memory(computed_hash, precomp_hash4, CURL_SHA512_256_DIGEST_LENGTH); verify_memory(computed_hash, precomp_hash4, CURL_SHA512_256_DIGEST_LENGTH);
Curl_sha512_256it(output_buf, (const unsigned char *) test_str5, Curl_sha512_256it(output_buf, (const unsigned char *) test_str5,
(sizeof(test_str5) / sizeof(char)) - 1); CURL_ARRAYSIZE(test_str5) - 1);
verify_memory(computed_hash, precomp_hash5, CURL_SHA512_256_DIGEST_LENGTH); verify_memory(computed_hash, precomp_hash5, CURL_SHA512_256_DIGEST_LENGTH);
Curl_sha512_256it(output_buf, (const unsigned char *) test_str6, Curl_sha512_256it(output_buf, (const unsigned char *) test_str6,
(sizeof(test_str6) / sizeof(char)) - 1); CURL_ARRAYSIZE(test_str6) - 1);
verify_memory(computed_hash, precomp_hash6, CURL_SHA512_256_DIGEST_LENGTH); verify_memory(computed_hash, precomp_hash6, CURL_SHA512_256_DIGEST_LENGTH);
Curl_sha512_256it(output_buf, (const unsigned char *) test_str7, Curl_sha512_256it(output_buf, (const unsigned char *) test_str7,
(sizeof(test_str7) / sizeof(char)) - 1); CURL_ARRAYSIZE(test_str7) - 1);
verify_memory(computed_hash, precomp_hash7, CURL_SHA512_256_DIGEST_LENGTH); verify_memory(computed_hash, precomp_hash7, CURL_SHA512_256_DIGEST_LENGTH);
Curl_sha512_256it(output_buf, test_seq8, Curl_sha512_256it(output_buf, test_seq8,
sizeof(test_seq8) / sizeof(unsigned char)); CURL_ARRAYSIZE(test_seq8));
verify_memory(computed_hash, precomp_hash8, CURL_SHA512_256_DIGEST_LENGTH); verify_memory(computed_hash, precomp_hash8, CURL_SHA512_256_DIGEST_LENGTH);
#endif /* CURL_HAVE_SHA512_256 */ #endif /* CURL_HAVE_SHA512_256 */

View File

@ -160,7 +160,7 @@ UNITTEST_START
size_t i; size_t i;
unsigned char *p; unsigned char *p;
for(i = 0; i < sizeof(req) / sizeof(req[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(req); i++) {
DOHcode rc = doh_req_encode(req[i].name, req[i].type, DOHcode rc = doh_req_encode(req[i].name, req[i].type,
buffer, sizeof(buffer), &size); buffer, sizeof(buffer), &size);
if(rc != req[i].rc) { if(rc != req[i].rc) {
@ -183,7 +183,7 @@ UNITTEST_START
} }
} }
for(i = 0; i < sizeof(resp) / sizeof(resp[0]); i++) { for(i = 0; i < CURL_ARRAYSIZE(resp); i++) {
struct dohentry d; struct dohentry d;
DOHcode rc; DOHcode rc;
char *ptr; char *ptr;

View File

@ -99,7 +99,7 @@ do {
{ max, DOH_OK } /* expect buffer overwrite */ { max, DOH_OK } /* expect buffer overwrite */
}; };
for(i = 0; i < (int)(sizeof(playlist)/sizeof(*playlist)); i++) { for(i = 0; i < (int)(CURL_ARRAYSIZE(playlist)); i++) {
const char *name = playlist[i].name; const char *name = playlist[i].name;
size_t olen = 100000; size_t olen = 100000;
struct demo victim; struct demo victim;

View File

@ -38,10 +38,6 @@ static void unit_stop(void)
#if defined(USE_GNUTLS) || defined(USE_SCHANNEL) || defined(USE_SECTRANSP) || \ #if defined(USE_GNUTLS) || defined(USE_SCHANNEL) || defined(USE_SECTRANSP) || \
defined(USE_MBEDTLS) defined(USE_MBEDTLS)
#ifndef ARRAYSIZE
#define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0]))
#endif
struct test1657_spec { struct test1657_spec {
CURLcode (*setbuf)(struct test1657_spec *spec, struct dynbuf *buf); CURLcode (*setbuf)(struct test1657_spec *spec, struct dynbuf *buf);
size_t n; size_t n;
@ -112,7 +108,7 @@ UNITTEST_START
return TEST_ERR_MAJOR_BAD; return TEST_ERR_MAJOR_BAD;
} }
for(i = 0; i < ARRAYSIZE(test1657_specs); ++i) { for(i = 0; i < CURL_ARRAYSIZE(test1657_specs); ++i) {
if(!do_test1657(&test1657_specs[i], i, &dbuf)) if(!do_test1657(&test1657_specs[i], i, &dbuf))
all_ok = FALSE; all_ok = FALSE;
} }

View File

@ -397,7 +397,7 @@ UNITTEST_START
size_t i; size_t i;
for(i = 0; i < sizeof(TEST_CASES)/sizeof(TEST_CASES[0]); ++i) { for(i = 0; i < CURL_ARRAYSIZE(TEST_CASES); ++i) {
test_connect(&TEST_CASES[i]); test_connect(&TEST_CASES[i]);
} }

View File

@ -586,7 +586,6 @@ static const struct test_cs_entry test_cs_list[] = {
"RSA-PSK-CHACHA20-POLY1305" }, "RSA-PSK-CHACHA20-POLY1305" },
#endif #endif
}; };
#define TEST_CS_LIST_LEN (sizeof(test_cs_list) / sizeof(test_cs_list[0]))
static const char *cs_test_string = static const char *cs_test_string =
"TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:" "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:"
@ -685,11 +684,10 @@ static const struct test_str_entry test_str_list[] = {
{ 0x0000, "GIBBERISH" }, { 0x0000, "GIBBERISH" },
{ 0x0000, "" }, { 0x0000, "" },
}; };
#define TEST_STR_LIST_LEN (sizeof(test_str_list) / sizeof(test_str_list[0]))
UNITTEST_START UNITTEST_START
{ {
for(size_t i = 0; i < TEST_CS_LIST_LEN; i++) { for(size_t i = 0; i < CURL_ARRAYSIZE(test_cs_list); i++) {
const struct test_cs_entry *test = &test_cs_list[i]; const struct test_cs_entry *test = &test_cs_list[i];
const char *expect; const char *expect;
char buf[64] = ""; char buf[64] = "";
@ -762,7 +760,7 @@ UNITTEST_START
for(ptr = cs_test_string; ptr[0] != '\0'; ptr = end) { for(ptr = cs_test_string; ptr[0] != '\0'; ptr = end) {
const struct test_str_entry *test = &test_str_list[i]; const struct test_str_entry *test = &test_str_list[i];
abort_if(i == TEST_STR_LIST_LEN, "should have been done"); abort_if(i == CURL_ARRAYSIZE(test_str_list), "should have been done");
id = Curl_cipher_suite_walk_str(&ptr, &end); id = Curl_cipher_suite_walk_str(&ptr, &end);
len = end - ptr; len = end - ptr;