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

Function rewrite_m

scripts/config/menu.c:83–106  ·  view source on GitHub ↗

* Rewrites 'm' to 'm' && MODULES, so that it evaluates to 'n' when running * without modules */

Source from the content-addressed store, hash-verified

81 * without modules
82 */
83static struct expr *rewrite_m(struct expr *e)
84{
85 if (!e)
86 return e;
87
88 switch (e->type) {
89 case E_NOT:
90 e->left.expr = rewrite_m(e->left.expr);
91 break;
92 case E_OR:
93 case E_AND:
94 e->left.expr = rewrite_m(e->left.expr);
95 e->right.expr = rewrite_m(e->right.expr);
96 break;
97 case E_SYMBOL:
98 /* change 'm' into 'm' && MODULES */
99 if (e->left.sym == &symbol_mod)
100 return expr_alloc_and(e, expr_alloc_symbol(modules_sym));
101 break;
102 default:
103 break;
104 }
105 return e;
106}
107
108void menu_add_dep(struct expr *dep)
109{

Callers 1

menu_finalizeFunction · 0.85

Calls 2

expr_alloc_andFunction · 0.85
expr_alloc_symbolFunction · 0.85

Tested by

no test coverage detected