MCPcopy Create free account
hub / github.com/Entware/Entware / expr_trans_bool

Function expr_trans_bool

scripts/config/expr.c:402–426  ·  view source on GitHub ↗

* bool FOO!=n => FOO */

Source from the content-addressed store, hash-verified

400 * bool FOO!=n => FOO
401 */
402struct expr *expr_trans_bool(struct expr *e)
403{
404 if (!e)
405 return NULL;
406 switch (e->type) {
407 case E_AND:
408 case E_OR:
409 case E_NOT:
410 e->left.expr = expr_trans_bool(e->left.expr);
411 e->right.expr = expr_trans_bool(e->right.expr);
412 break;
413 case E_UNEQUAL:
414 // FOO!=n -> FOO
415 if (e->left.sym->type == S_TRISTATE) {
416 if (e->right.sym == &symbol_no) {
417 e->type = E_SYMBOL;
418 e->right.sym = NULL;
419 }
420 }
421 break;
422 default:
423 ;
424 }
425 return e;
426}
427
428/*
429 * e1 || e2 -> ?

Callers 1

menu_finalizeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected