-#define CHECK_TERM_ENV(env, isNull, NOTERM) \
- (isNull = ((env == 0) || (*env == 0)), \
- (env = (isNull \
- ? NOTERM \
- : env), \
- (isNull = ((env == 0) || (*env == 0)))))
+#define CHECK_TERM_ENV(term_env, no_terminal) \
+ (term_env = (NonEmpty(term_env) \
+ ? term_env \
+ : no_terminal), \
+ !NonEmpty(term_env))