Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit c63d48f

Browse files
bnoordhuisMyles Borins
authored and
Myles Borins
committedJun 6, 2016
src: replace ARRAY_SIZE with typesafe arraysize
To prevent `ARRAY_SIZE(&arg)` (i.e., taking the array size of a pointer) from happening again. PR-URL: #5969 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 8f55108 commit c63d48f

24 files changed

+70
-67
lines changed
 

‎src/async-wrap-inl.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ inline AsyncWrap::AsyncWrap(Environment* env,
4949
argv[2] = parent->object();
5050

5151
v8::MaybeLocal<v8::Value> ret =
52-
init_fn->Call(env->context(), object, ARRAY_SIZE(argv), argv);
52+
init_fn->Call(env->context(), object, arraysize(argv), argv);
5353

5454
if (ret.IsEmpty())
5555
FatalError("node::AsyncWrap::AsyncWrap", "init hook threw");

‎src/cares_wrap.cc

+4-4
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ class QueryWrap : public AsyncWrap {
310310
Integer::New(env()->isolate(), 0),
311311
answer
312312
};
313-
MakeCallback(env()->oncomplete_string(), ARRAY_SIZE(argv), argv);
313+
MakeCallback(env()->oncomplete_string(), arraysize(argv), argv);
314314
}
315315

316316
void CallOnComplete(Local<Value> answer, Local<Value> family) {
@@ -321,7 +321,7 @@ class QueryWrap : public AsyncWrap {
321321
answer,
322322
family
323323
};
324-
MakeCallback(env()->oncomplete_string(), ARRAY_SIZE(argv), argv);
324+
MakeCallback(env()->oncomplete_string(), arraysize(argv), argv);
325325
}
326326

327327
void ParseError(int status) {
@@ -994,7 +994,7 @@ void AfterGetAddrInfo(uv_getaddrinfo_t* req, int status, struct addrinfo* res) {
994994
uv_freeaddrinfo(res);
995995

996996
// Make the callback into JavaScript
997-
req_wrap->MakeCallback(env->oncomplete_string(), ARRAY_SIZE(argv), argv);
997+
req_wrap->MakeCallback(env->oncomplete_string(), arraysize(argv), argv);
998998

999999
delete req_wrap;
10001000
}
@@ -1025,7 +1025,7 @@ void AfterGetNameInfo(uv_getnameinfo_t* req,
10251025
}
10261026

10271027
// Make the callback into JavaScript
1028-
req_wrap->MakeCallback(env->oncomplete_string(), ARRAY_SIZE(argv), argv);
1028+
req_wrap->MakeCallback(env->oncomplete_string(), arraysize(argv), argv);
10291029

10301030
delete req_wrap;
10311031
}

‎src/debug-agent.cc

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#include "debug-agent.h"
2323

2424
#include "node.h"
25-
#include "node_internals.h" // ARRAY_SIZE
25+
#include "node_internals.h" // arraysize
2626
#include "env.h"
2727
#include "env-inl.h"
2828
#include "v8.h"
@@ -175,9 +175,9 @@ void Agent::WorkerRun() {
175175
isolate,
176176
&child_loop_,
177177
context,
178-
ARRAY_SIZE(argv),
178+
arraysize(argv),
179179
argv,
180-
ARRAY_SIZE(argv),
180+
arraysize(argv),
181181
argv);
182182

183183
child_env_ = env;
@@ -301,7 +301,7 @@ void Agent::ChildSignalCb(uv_async_t* signal) {
301301
MakeCallback(isolate,
302302
api,
303303
"onmessage",
304-
ARRAY_SIZE(argv),
304+
arraysize(argv),
305305
argv);
306306
delete msg;
307307
}

‎src/fs_event_wrap.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ void FSEventWrap::OnEvent(uv_fs_event_t* handle, const char* filename,
159159
argv[2] = OneByteString(env->isolate(), filename);
160160
}
161161

162-
wrap->MakeCallback(env->onchange_string(), ARRAY_SIZE(argv), argv);
162+
wrap->MakeCallback(env->onchange_string(), arraysize(argv), argv);
163163
}
164164

165165

‎src/js_stream.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ int JSStream::DoShutdown(ShutdownWrap* req_wrap) {
7575

7676
req_wrap->Dispatched();
7777
Local<Value> res =
78-
MakeCallback(env()->onshutdown_string(), ARRAY_SIZE(argv), argv);
78+
MakeCallback(env()->onshutdown_string(), arraysize(argv), argv);
7979

8080
return res->Int32Value();
8181
}
@@ -103,7 +103,7 @@ int JSStream::DoWrite(WriteWrap* w,
103103

104104
w->Dispatched();
105105
Local<Value> res =
106-
MakeCallback(env()->onwrite_string(), ARRAY_SIZE(argv), argv);
106+
MakeCallback(env()->onwrite_string(), arraysize(argv), argv);
107107

108108
return res->Int32Value();
109109
}

‎src/node.cc

+8-8
Original file line numberDiff line numberDiff line change
@@ -1101,7 +1101,7 @@ void PromiseRejectCallback(PromiseRejectMessage message) {
11011101
Local<Value> args[] = { event, promise, value };
11021102
Local<Object> process = env->process_object();
11031103

1104-
callback->Call(process, ARRAY_SIZE(args), args);
1104+
callback->Call(process, arraysize(args), args);
11051105
}
11061106

11071107
void SetupPromises(const FunctionCallbackInfo<Value>& args) {
@@ -2457,12 +2457,12 @@ static void EnvGetter(Local<String> property,
24572457
WCHAR buffer[32767]; // The maximum size allowed for environment variables.
24582458
DWORD result = GetEnvironmentVariableW(reinterpret_cast<WCHAR*>(*key),
24592459
buffer,
2460-
ARRAY_SIZE(buffer));
2460+
arraysize(buffer));
24612461
// If result >= sizeof buffer the buffer was too small. That should never
24622462
// happen. If result == 0 and result != ERROR_SUCCESS the variable was not
24632463
// not found.
24642464
if ((result > 0 || GetLastError() == ERROR_SUCCESS) &&
2465-
result < ARRAY_SIZE(buffer)) {
2465+
result < arraysize(buffer)) {
24662466
const uint16_t* two_byte_buffer = reinterpret_cast<const uint16_t*>(buffer);
24672467
Local<String> rc = String::NewFromTwoByte(isolate, two_byte_buffer);
24682468
return info.GetReturnValue().Set(rc);
@@ -3461,7 +3461,7 @@ static void EnableDebug(Environment* env) {
34613461
FIXED_ONE_BYTE_STRING(env->isolate(), "internalMessage"),
34623462
message
34633463
};
3464-
MakeCallback(env, env->process_object(), "emit", ARRAY_SIZE(argv), argv);
3464+
MakeCallback(env, env->process_object(), "emit", arraysize(argv), argv);
34653465

34663466
// Enabled debugger, possibly making it wait on a semaphore
34673467
env->debugger_agent()->Enable();
@@ -3582,7 +3582,7 @@ static int RegisterDebugSignalHandler() {
35823582

35833583
if (GetDebugSignalHandlerMappingName(pid,
35843584
mapping_name,
3585-
ARRAY_SIZE(mapping_name)) < 0) {
3585+
arraysize(mapping_name)) < 0) {
35863586
return -1;
35873587
}
35883588

@@ -3645,7 +3645,7 @@ static void DebugProcess(const FunctionCallbackInfo<Value>& args) {
36453645

36463646
if (GetDebugSignalHandlerMappingName(pid,
36473647
mapping_name,
3648-
ARRAY_SIZE(mapping_name)) < 0) {
3648+
arraysize(mapping_name)) < 0) {
36493649
env->ThrowErrnoException(errno, "sprintf");
36503650
goto out;
36513651
}
@@ -3922,7 +3922,7 @@ void EmitBeforeExit(Environment* env) {
39223922
FIXED_ONE_BYTE_STRING(env->isolate(), "beforeExit"),
39233923
process_object->Get(exit_code)->ToInteger(env->isolate())
39243924
};
3925-
MakeCallback(env, process_object, "emit", ARRAY_SIZE(args), args);
3925+
MakeCallback(env, process_object, "emit", arraysize(args), args);
39263926
}
39273927

39283928

@@ -3941,7 +3941,7 @@ int EmitExit(Environment* env) {
39413941
Integer::New(env->isolate(), code)
39423942
};
39433943

3944-
MakeCallback(env, process_object, "emit", ARRAY_SIZE(args), args);
3944+
MakeCallback(env, process_object, "emit", arraysize(args), args);
39453945

39463946
// Reload exit code, it may be changed by `emit('exit')`
39473947
return process_object->Get(exitCode)->Int32Value();

‎src/node_contextify.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ class ContextifyContext {
161161
CHECK(clone_property_method->IsFunction());
162162
}
163163
Local<Value> args[] = { global, key, sandbox_obj };
164-
clone_property_method->Call(global, ARRAY_SIZE(args), args);
164+
clone_property_method->Call(global, arraysize(args), args);
165165
}
166166
}
167167
}

‎src/node_counters.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ void InitPerfCounters(Environment* env, Local<Object> target) {
9898
#undef NODE_PROBE
9999
};
100100

101-
for (int i = 0; i < ARRAY_SIZE(tab); i++) {
101+
for (size_t i = 0; i < arraysize(tab); i++) {
102102
Local<String> key = OneByteString(env->isolate(), tab[i].name);
103103
Local<Value> val = env->NewFunctionTemplate(tab[i].func)->GetFunction();
104104
target->Set(key, val);

‎src/node_crypto.cc

+11-11
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,7 @@ void SecureContext::AddRootCerts(const FunctionCallbackInfo<Value>& args) {
760760
if (!root_cert_store) {
761761
root_cert_store = X509_STORE_new();
762762

763-
for (size_t i = 0; i < ARRAY_SIZE(root_certs); i++) {
763+
for (size_t i = 0; i < arraysize(root_certs); i++) {
764764
BIO* bp = NodeBIO::NewFixed(root_certs[i], strlen(root_certs[i]));
765765
if (bp == nullptr) {
766766
return;
@@ -1092,7 +1092,7 @@ int SecureContext::TicketKeyCallback(SSL* ssl,
10921092
Local<Value> ret = node::MakeCallback(env,
10931093
sc->object(),
10941094
env->ticketkeycallback_string(),
1095-
ARRAY_SIZE(argv),
1095+
arraysize(argv),
10961096
argv);
10971097
Local<Array> arr = ret.As<Array>();
10981098

@@ -1284,7 +1284,7 @@ int SSLWrap<Base>::NewSessionCallback(SSL* s, SSL_SESSION* sess) {
12841284
sess->session_id_length).ToLocalChecked();
12851285
Local<Value> argv[] = { session, buff };
12861286
w->new_session_wait_ = true;
1287-
w->MakeCallback(env->onnewsession_string(), ARRAY_SIZE(argv), argv);
1287+
w->MakeCallback(env->onnewsession_string(), arraysize(argv), argv);
12881288

12891289
return 0;
12901290
}
@@ -1318,7 +1318,7 @@ void SSLWrap<Base>::OnClientHello(void* arg,
13181318
Boolean::New(env->isolate(), hello.ocsp_request()));
13191319

13201320
Local<Value> argv[] = { hello_obj };
1321-
w->MakeCallback(env->onclienthello_string(), ARRAY_SIZE(argv), argv);
1321+
w->MakeCallback(env->onclienthello_string(), arraysize(argv), argv);
13221322
}
13231323

13241324

@@ -1393,8 +1393,8 @@ static Local<Object> X509ToObject(Environment* env, X509* cert) {
13931393
int nids[] = { NID_subject_alt_name, NID_info_access };
13941394
Local<String> keys[] = { env->subjectaltname_string(),
13951395
env->infoaccess_string() };
1396-
CHECK_EQ(ARRAY_SIZE(nids), ARRAY_SIZE(keys));
1397-
for (unsigned int i = 0; i < ARRAY_SIZE(nids); i++) {
1396+
CHECK_EQ(arraysize(nids), arraysize(keys));
1397+
for (size_t i = 0; i < arraysize(nids); i++) {
13981398
int index = X509_get_ext_by_NID(cert, nids[i], -1);
13991399
if (index < 0)
14001400
continue;
@@ -2128,7 +2128,7 @@ int SSLWrap<Base>::SSLCertCallback(SSL* s, void* arg) {
21282128
info->Set(env->ocsp_request_string(), Boolean::New(env->isolate(), ocsp));
21292129

21302130
Local<Value> argv[] = { info };
2131-
w->MakeCallback(env->oncertcb_string(), ARRAY_SIZE(argv), argv);
2131+
w->MakeCallback(env->oncertcb_string(), arraysize(argv), argv);
21322132

21332133
if (!w->cert_cb_running_)
21342134
return 1;
@@ -2491,7 +2491,7 @@ inline CheckResult CheckWhitelistedServerCert(X509_STORE_CTX* ctx) {
24912491
CHECK(ret);
24922492

24932493
void* result = bsearch(hash, WhitelistedCNNICHashes,
2494-
ARRAY_SIZE(WhitelistedCNNICHashes),
2494+
arraysize(WhitelistedCNNICHashes),
24952495
CNNIC_WHITELIST_HASH_LEN, compar);
24962496
if (result == nullptr) {
24972497
sk_X509_pop_free(chain, X509_free);
@@ -4229,7 +4229,7 @@ void DiffieHellman::DiffieHellmanGroup(
42294229
bool initialized = false;
42304230

42314231
const node::Utf8Value group_name(env->isolate(), args[0]);
4232-
for (unsigned int i = 0; i < ARRAY_SIZE(modp_groups); ++i) {
4232+
for (size_t i = 0; i < arraysize(modp_groups); ++i) {
42334233
const modp_group* it = modp_groups + i;
42344234

42354235
if (strcasecmp(*group_name, it->name) != 0)
@@ -4883,7 +4883,7 @@ void EIO_PBKDF2After(uv_work_t* work_req, int status) {
48834883
Context::Scope context_scope(env->context());
48844884
Local<Value> argv[2];
48854885
EIO_PBKDF2After(req, argv);
4886-
req->MakeCallback(env->ondone_string(), ARRAY_SIZE(argv), argv);
4886+
req->MakeCallback(env->ondone_string(), arraysize(argv), argv);
48874887
delete req;
48884888
}
48894889

@@ -5124,7 +5124,7 @@ void RandomBytesAfter(uv_work_t* work_req, int status) {
51245124
Context::Scope context_scope(env->context());
51255125
Local<Value> argv[2];
51265126
RandomBytesCheck(req, argv);
5127-
req->MakeCallback(env->ondone_string(), ARRAY_SIZE(argv), argv);
5127+
req->MakeCallback(env->ondone_string(), arraysize(argv), argv);
51285128
delete req;
51295129
}
51305130

‎src/node_dtrace.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ void InitDTrace(Environment* env, Local<Object> target) {
257257
#undef NODE_PROBE
258258
};
259259

260-
for (unsigned int i = 0; i < ARRAY_SIZE(tab); i++) {
260+
for (size_t i = 0; i < arraysize(tab); i++) {
261261
Local<String> key = OneByteString(env->isolate(), tab[i].name);
262262
Local<Value> val = env->NewFunctionTemplate(tab[i].func)->GetFunction();
263263
target->Set(key, val);

‎src/node_file.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ Local<Value> BuildStatsObject(Environment* env, const uv_stat_t* s) {
429429

430430
// Call out to JavaScript to create the stats object.
431431
Local<Value> stats =
432-
env->fs_stats_constructor_function()->NewInstance(ARRAY_SIZE(argv), argv);
432+
env->fs_stats_constructor_function()->NewInstance(arraysize(argv), argv);
433433

434434
if (stats.IsEmpty())
435435
return handle_scope.Escape(Local<Object>());
@@ -932,7 +932,7 @@ static void WriteBuffers(const FunctionCallbackInfo<Value>& args) {
932932
uv_buf_t s_iovs[1024]; // use stack allocation when possible
933933
uv_buf_t* iovs;
934934

935-
if (chunkCount > ARRAY_SIZE(s_iovs))
935+
if (chunkCount > arraysize(s_iovs))
936936
iovs = new uv_buf_t[chunkCount];
937937
else
938938
iovs = s_iovs;

‎src/node_http_parser.cc

+7-7
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ class Parser : public BaseObject {
189189
if (num_fields_ == num_values_) {
190190
// start of new field name
191191
num_fields_++;
192-
if (num_fields_ == ARRAY_SIZE(fields_)) {
192+
if (num_fields_ == static_cast<int>(arraysize(fields_))) {
193193
// ran out of space - flush to javascript land
194194
Flush();
195195
num_fields_ = 1;
@@ -198,7 +198,7 @@ class Parser : public BaseObject {
198198
fields_[num_fields_ - 1].Reset();
199199
}
200200

201-
CHECK_LT(num_fields_, static_cast<int>(ARRAY_SIZE(fields_)));
201+
CHECK_LT(num_fields_, static_cast<int>(arraysize(fields_)));
202202
CHECK_EQ(num_fields_, num_values_ + 1);
203203

204204
fields_[num_fields_ - 1].Update(at, length);
@@ -214,7 +214,7 @@ class Parser : public BaseObject {
214214
values_[num_values_ - 1].Reset();
215215
}
216216

217-
CHECK_LT(num_values_, static_cast<int>(ARRAY_SIZE(values_)));
217+
CHECK_LT(num_values_, static_cast<int>(arraysize(values_)));
218218
CHECK_EQ(num_values_, num_fields_);
219219

220220
values_[num_values_ - 1].Update(at, length);
@@ -248,7 +248,7 @@ class Parser : public BaseObject {
248248
return 0;
249249

250250
Local<Value> undefined = Undefined(env()->isolate());
251-
for (size_t i = 0; i < ARRAY_SIZE(argv); i++)
251+
for (size_t i = 0; i < arraysize(argv); i++)
252252
argv[i] = undefined;
253253

254254
if (have_flushed_) {
@@ -287,7 +287,7 @@ class Parser : public BaseObject {
287287
argv[A_UPGRADE] = Boolean::New(env()->isolate(), parser_.upgrade);
288288

289289
Local<Value> head_response =
290-
cb.As<Function>()->Call(obj, ARRAY_SIZE(argv), argv);
290+
cb.As<Function>()->Call(obj, arraysize(argv), argv);
291291

292292
if (head_response.IsEmpty()) {
293293
got_exception_ = true;
@@ -322,7 +322,7 @@ class Parser : public BaseObject {
322322
Integer::NewFromUnsigned(env()->isolate(), length)
323323
};
324324

325-
Local<Value> r = cb.As<Function>()->Call(obj, ARRAY_SIZE(argv), argv);
325+
Local<Value> r = cb.As<Function>()->Call(obj, arraysize(argv), argv);
326326

327327
if (r.IsEmpty()) {
328328
got_exception_ = true;
@@ -659,7 +659,7 @@ class Parser : public BaseObject {
659659
url_.ToString(env())
660660
};
661661

662-
Local<Value> r = cb.As<Function>()->Call(obj, ARRAY_SIZE(argv), argv);
662+
Local<Value> r = cb.As<Function>()->Call(obj, arraysize(argv), argv);
663663

664664
if (r.IsEmpty())
665665
got_exception_ = true;

‎src/node_internals.h

+5-2
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,11 @@ inline static int snprintf(char *buffer, size_t n, const char *format, ...) {
109109
#endif
110110
#endif
111111

112-
#ifndef ARRAY_SIZE
113-
# define ARRAY_SIZE(a) (sizeof((a)) / sizeof((a)[0]))
112+
#if defined(_MSC_VER) && _MSC_VER < 1900
113+
#define arraysize(a) (sizeof(a) / sizeof(*a)) // Workaround for VS 2013.
114+
#else
115+
template <typename T, size_t N>
116+
constexpr size_t arraysize(const T(&)[N]) { return N; }
114117
#endif
115118

116119
#ifndef ROUND_UP

‎src/node_lttng.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ void InitLTTNG(Environment* env, Local<Object> target) {
250250
#undef NODE_PROBE
251251
};
252252

253-
for (unsigned int i = 0; i < ARRAY_SIZE(tab); i++) {
253+
for (size_t i = 0; i < arraysize(tab); i++) {
254254
Local<String> key = OneByteString(env->isolate(), tab[i].name);
255255
Local<Value> val = env->NewFunctionTemplate(tab[i].func)->GetFunction();
256256
target->Set(key, val);

‎src/node_stat_watcher.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void StatWatcher::Callback(uv_fs_poll_t* handle,
7070
BuildStatsObject(env, prev),
7171
Integer::New(env->isolate(), status)
7272
};
73-
wrap->MakeCallback(env->onchange_string(), ARRAY_SIZE(argv), argv);
73+
wrap->MakeCallback(env->onchange_string(), arraysize(argv), argv);
7474
}
7575

7676

‎src/node_win32_etw_provider-inl.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ void NODE_V8SYMBOL_RESET() {
202202

203203
#define SETSYMBUF(s) \
204204
wcscpy(symbuf, s); \
205-
symbol_len = ARRAY_SIZE(s) - 1;
205+
symbol_len = arraysize(s) - 1;
206206

207207
void NODE_V8SYMBOL_ADD(LPCSTR symbol,
208208
int symbol_len,

‎src/node_win32_etw_provider.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ struct v8tags trace_codes[] = {
5656
// If prefix is not in filtered list return -1,
5757
// else return length of prefix and marker.
5858
int FilterCodeEvents(const char* name, size_t len) {
59-
for (int i = 0; i < ARRAY_SIZE(trace_codes); i++) {
59+
for (size_t i = 0; i < arraysize(trace_codes); i++) {
6060
size_t prelen = trace_codes[i].prelen;
6161
if (prelen < len) {
6262
if (strncmp(name, trace_codes[i].prefix, prelen) == 0) {

‎src/node_zlib.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ class ZCtx : public AsyncWrap {
313313

314314
// call the write() cb
315315
Local<Value> args[2] = { avail_in, avail_out };
316-
ctx->MakeCallback(env->callback_string(), ARRAY_SIZE(args), args);
316+
ctx->MakeCallback(env->callback_string(), arraysize(args), args);
317317

318318
ctx->Unref();
319319
if (ctx->pending_close_)
@@ -335,7 +335,7 @@ class ZCtx : public AsyncWrap {
335335
OneByteString(env->isolate(), message),
336336
Number::New(env->isolate(), ctx->err_)
337337
};
338-
ctx->MakeCallback(env->onerror_string(), ARRAY_SIZE(args), args);
338+
ctx->MakeCallback(env->onerror_string(), arraysize(args), args);
339339

340340
// no hope of rescue.
341341
if (ctx->write_in_progress_)

‎src/pipe_wrap.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ void PipeWrap::OnConnection(uv_stream_t* handle, int status) {
183183
};
184184

185185
if (status != 0) {
186-
pipe_wrap->MakeCallback(env->onconnection_string(), ARRAY_SIZE(argv), argv);
186+
pipe_wrap->MakeCallback(env->onconnection_string(), arraysize(argv), argv);
187187
return;
188188
}
189189

@@ -198,7 +198,7 @@ void PipeWrap::OnConnection(uv_stream_t* handle, int status) {
198198

199199
// Successful accept. Call the onconnection callback in JavaScript land.
200200
argv[1] = client_obj;
201-
pipe_wrap->MakeCallback(env->onconnection_string(), ARRAY_SIZE(argv), argv);
201+
pipe_wrap->MakeCallback(env->onconnection_string(), arraysize(argv), argv);
202202
}
203203

204204
// TODO(bnoordhuis) Maybe share this with TCPWrap?
@@ -233,7 +233,7 @@ void PipeWrap::AfterConnect(uv_connect_t* req, int status) {
233233
Boolean::New(env->isolate(), writable)
234234
};
235235

236-
req_wrap->MakeCallback(env->oncomplete_string(), ARRAY_SIZE(argv), argv);
236+
req_wrap->MakeCallback(env->oncomplete_string(), arraysize(argv), argv);
237237

238238
delete req_wrap;
239239
}

‎src/process_wrap.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ class ProcessWrap : public HandleWrap {
254254
OneByteString(env->isolate(), signo_string(term_signal))
255255
};
256256

257-
wrap->MakeCallback(env->onexit_string(), ARRAY_SIZE(argv), argv);
257+
wrap->MakeCallback(env->onexit_string(), arraysize(argv), argv);
258258
}
259259

260260
uv_process_t process_;

‎src/stream_base.cc

+5-5
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ void StreamBase::AfterShutdown(ShutdownWrap* req_wrap, int status) {
8383
};
8484

8585
if (req_wrap->object()->Has(env->oncomplete_string()))
86-
req_wrap->MakeCallback(env->oncomplete_string(), ARRAY_SIZE(argv), argv);
86+
req_wrap->MakeCallback(env->oncomplete_string(), arraysize(argv), argv);
8787

8888
delete req_wrap;
8989
}
@@ -130,7 +130,7 @@ int StreamBase::Writev(const FunctionCallbackInfo<Value>& args) {
130130
if (storage_size > INT_MAX)
131131
return UV_ENOBUFS;
132132

133-
if (ARRAY_SIZE(bufs_) < count)
133+
if (arraysize(bufs_) < count)
134134
bufs = new uv_buf_t[count];
135135

136136
WriteWrap* req_wrap = WriteWrap::New(env,
@@ -388,7 +388,7 @@ void StreamBase::AfterWrite(WriteWrap* req_wrap, int status) {
388388
}
389389

390390
if (req_wrap->object()->Has(env->oncomplete_string()))
391-
req_wrap->MakeCallback(env->oncomplete_string(), ARRAY_SIZE(argv), argv);
391+
req_wrap->MakeCallback(env->oncomplete_string(), arraysize(argv), argv);
392392

393393
req_wrap->Dispose();
394394
}
@@ -416,10 +416,10 @@ void StreamBase::EmitData(ssize_t nread,
416416
node::MakeCallback(env,
417417
GetObject(),
418418
env->onread_string(),
419-
ARRAY_SIZE(argv),
419+
arraysize(argv),
420420
argv);
421421
} else {
422-
async->MakeCallback(env->onread_string(), ARRAY_SIZE(argv), argv);
422+
async->MakeCallback(env->onread_string(), arraysize(argv), argv);
423423
}
424424
}
425425

‎src/tcp_wrap.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ void TCPWrap::OnConnection(uv_stream_t* handle, int status) {
269269
argv[1] = client_obj;
270270
}
271271

272-
tcp_wrap->MakeCallback(env->onconnection_string(), ARRAY_SIZE(argv), argv);
272+
tcp_wrap->MakeCallback(env->onconnection_string(), arraysize(argv), argv);
273273
}
274274

275275

@@ -295,7 +295,7 @@ void TCPWrap::AfterConnect(uv_connect_t* req, int status) {
295295
v8::True(env->isolate())
296296
};
297297

298-
req_wrap->MakeCallback(env->oncomplete_string(), ARRAY_SIZE(argv), argv);
298+
req_wrap->MakeCallback(env->oncomplete_string(), arraysize(argv), argv);
299299

300300
delete req_wrap;
301301
}

‎src/tls_wrap.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -283,8 +283,8 @@ void TLSWrap::EncOut() {
283283
}
284284

285285
char* data[kSimultaneousBufferCount];
286-
size_t size[ARRAY_SIZE(data)];
287-
size_t count = ARRAY_SIZE(data);
286+
size_t size[arraysize(data)];
287+
size_t count = arraysize(data);
288288
write_size_ = NodeBIO::FromBIO(enc_out_)->PeekMultiple(data, size, &count);
289289
CHECK(write_size_ != 0 && count != 0);
290290

@@ -295,7 +295,7 @@ void TLSWrap::EncOut() {
295295
this,
296296
EncOutCb);
297297

298-
uv_buf_t buf[ARRAY_SIZE(data)];
298+
uv_buf_t buf[arraysize(data)];
299299
for (size_t i = 0; i < count; i++)
300300
buf[i] = uv_buf_init(data[i], size[i]);
301301
int err = stream_->DoWrite(write_req, buf, count, nullptr);

‎src/udp_wrap.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -380,14 +380,14 @@ void UDPWrap::OnRecv(uv_udp_t* handle,
380380
if (nread < 0) {
381381
if (buf->base != nullptr)
382382
free(buf->base);
383-
wrap->MakeCallback(env->onmessage_string(), ARRAY_SIZE(argv), argv);
383+
wrap->MakeCallback(env->onmessage_string(), arraysize(argv), argv);
384384
return;
385385
}
386386

387387
char* base = static_cast<char*>(realloc(buf->base, nread));
388388
argv[2] = Buffer::New(env, base, nread).ToLocalChecked();
389389
argv[3] = AddressToJS(env, addr);
390-
wrap->MakeCallback(env->onmessage_string(), ARRAY_SIZE(argv), argv);
390+
wrap->MakeCallback(env->onmessage_string(), arraysize(argv), argv);
391391
}
392392

393393

0 commit comments

Comments
 (0)
Please sign in to comment.