Skip to content

Commit c09a713

Browse files
bnoordhuisMylesBorins
authored andcommittedApr 16, 2018
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: #19447 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 b565ba2 commit c09a713

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
@@ -75,10 +75,12 @@ struct napi_env__ {
7575
} \
7676
} while (0)
7777

78-
#define CHECK_ENV(env) \
79-
if ((env) == nullptr) { \
80-
return napi_invalid_arg; \
81-
}
78+
#define CHECK_ENV(env) \
79+
do { \
80+
if ((env) == nullptr) { \
81+
return napi_invalid_arg; \
82+
} \
83+
} while (0)
8284

8385
#define CHECK_ARG(env, arg) \
8486
RETURN_STATUS_IF_FALSE((env), ((arg) != nullptr), napi_invalid_arg)

0 commit comments

Comments
 (0)
Please sign in to comment.