Skip to content

Commit 969a520

Browse files
bnoordhuisMylesBorins
authored andcommitted
n-api: wrap control flow macro in do/while
Make CHECK_ENV() safe to use in the following context: if (condition) CHECK_ENV(env); else something_else(); Backport-PR-URL: #19265 PR-URL: #18532 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
1 parent d89f593 commit 969a520

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/node_api.cc

+6-4
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,12 @@ struct napi_env__ {
7070
} \
7171
} while (0)
7272

73-
#define CHECK_ENV(env) \
74-
if ((env) == nullptr) { \
75-
return napi_invalid_arg; \
76-
}
73+
#define CHECK_ENV(env) \
74+
do { \
75+
if ((env) == nullptr) { \
76+
return napi_invalid_arg; \
77+
} \
78+
} while (0)
7779

7880
#define CHECK_ARG(env, arg) \
7981
RETURN_STATUS_IF_FALSE((env), ((arg) != nullptr), napi_invalid_arg)

0 commit comments

Comments
 (0)