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

Function sym_check_deps

scripts/config/symbol.c:1184–1216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1182}
1183
1184struct symbol *sym_check_deps(struct symbol *sym)
1185{
1186 struct symbol *sym2;
1187 struct property *prop;
1188
1189 if (sym->flags & SYMBOL_CHECK) {
1190 sym_check_print_recursive(sym);
1191 return sym;
1192 }
1193 if (sym->flags & SYMBOL_CHECKED)
1194 return NULL;
1195
1196 if (sym_is_choice_value(sym)) {
1197 struct dep_stack stack;
1198
1199 /* for choice groups start the check with main choice symbol */
1200 dep_stack_insert(&stack, sym);
1201 prop = sym_get_choice_prop(sym);
1202 sym2 = sym_check_deps(prop_get_symbol(prop));
1203 dep_stack_remove();
1204 } else if (sym_is_choice(sym)) {
1205 sym2 = sym_check_choice_deps(sym);
1206 } else {
1207 sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED);
1208 sym2 = sym_check_sym_deps(sym);
1209 sym->flags &= ~SYMBOL_CHECK;
1210 }
1211
1212 if (!recursive_is_error && sym2 && sym2 == sym)
1213 sym2 = NULL;
1214
1215 return sym2;
1216}
1217
1218struct symbol *prop_get_symbol(struct property *prop)
1219{

Callers 2

sym_check_expr_depsFunction · 0.85
conf_parseFunction · 0.85

Calls 9

sym_is_choice_valueFunction · 0.85
dep_stack_insertFunction · 0.85
sym_get_choice_propFunction · 0.85
prop_get_symbolFunction · 0.85
dep_stack_removeFunction · 0.85
sym_is_choiceFunction · 0.85
sym_check_choice_depsFunction · 0.85
sym_check_sym_depsFunction · 0.85

Tested by

no test coverage detected