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

Function print_symbol

scripts/config/parser.tab.c:2040–2129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2038}
2039
2040static void print_symbol(FILE *out, struct menu *menu)
2041{
2042 struct symbol *sym = menu->sym;
2043 struct property *prop;
2044
2045 if (sym_is_choice(sym))
2046 fprintf(out, "\nchoice\n");
2047 else
2048 fprintf(out, "\nconfig %s\n", sym->name);
2049 switch (sym->type) {
2050 case S_BOOLEAN:
2051 fputs(" bool\n", out);
2052 break;
2053 case S_TRISTATE:
2054 fputs(" tristate\n", out);
2055 break;
2056 case S_STRING:
2057 fputs(" string\n", out);
2058 break;
2059 case S_INT:
2060 fputs(" integer\n", out);
2061 break;
2062 case S_HEX:
2063 fputs(" hex\n", out);
2064 break;
2065 default:
2066 fputs(" ???\n", out);
2067 break;
2068 }
2069 for (prop = sym->prop; prop; prop = prop->next) {
2070 if (prop->menu != menu)
2071 continue;
2072 switch (prop->type) {
2073 case P_PROMPT:
2074 fputs(" prompt ", out);
2075 print_quoted_string(out, prop->text);
2076 if (!expr_is_yes(prop->visible.expr)) {
2077 fputs(" if ", out);
2078 expr_fprint(prop->visible.expr, out);
2079 }
2080 fputc('\n', out);
2081 break;
2082 case P_DEFAULT:
2083 fputs( " default ", out);
2084 expr_fprint(prop->expr, out);
2085 if (!expr_is_yes(prop->visible.expr)) {
2086 fputs(" if ", out);
2087 expr_fprint(prop->visible.expr, out);
2088 }
2089 fputc('\n', out);
2090 break;
2091 case P_CHOICE:
2092 fputs(" #choice value\n", out);
2093 break;
2094 case P_SELECT:
2095 fputs( " select ", out);
2096 expr_fprint(prop->expr, out);
2097 fputc('\n', out);

Callers 2

__conf_write_autoconfFunction · 0.85
zconfdumpFunction · 0.85

Calls 4

sym_is_choiceFunction · 0.85
print_quoted_stringFunction · 0.85
expr_is_yesFunction · 0.85
expr_fprintFunction · 0.85

Tested by

no test coverage detected