Skip to content

Commit d258112

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(); PR-URL: #18532 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Ali Ijaz Sheikh <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Tiancheng "Timothy" Gu <[email protected]> Reviewed-By: Daniel Bevenius <[email protected]>
1 parent 27532f4 commit d258112

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)