struct gstr get_relations_str(struct symbol **sym_arr) { struct symbol *sym; struct gstr res = str_new(); int i; for (i = 0; sym_arr && (sym = sym_arr[i]); i++) get_symbol_str(&res, sym); if (!i) str_append(&res, _("No matches found.\n")); return res; }
void menu_get_ext_help(struct menu *menu, struct gstr *help) { struct symbol *sym = menu->sym; const char *help_text = nohelp_text; if (menu_has_help(menu)) { if (sym->name) str_printf(help, "%s%s:\n\n", CONFIG_, sym->name); help_text = menu_get_help(menu); } str_printf(help, "%s\n", _(help_text)); if (sym) get_symbol_str(help, sym, NULL); }
void menu_get_ext_help(struct menu *menu, struct gstr *help) { struct symbol *sym = menu->sym; if (menu_has_help(menu)) { if (sym->name) { str_printf(help, "%s%s:\n\n", CONFIG_, sym->name); str_append(help, _(menu_get_help(menu))); str_append(help, "\n"); } } else { str_append(help, nohelp_text); } if (sym) get_symbol_str(help, sym); }
static void show_help(struct menu *menu) { struct gstr help = str_new(); struct symbol *sym = menu->sym; if (sym->help) { if (sym->name) { str_printf(&help, "%s:\n\n", sym->name); str_append(&help, sym->help); str_append(&help, "\n"); } } else { str_append(&help, nohelp_text); } get_symbol_str(&help, sym); show_helptext(menu_get_prompt(menu), str_get(&help)); str_free(&help); }
int main (int argc, char *argv[]) #endif { parsed_symbol symbol; int count = 0; globals.mode = NONE; globals.forward_dll = NULL; globals.input_name = NULL; globals.dumpsect = NULL; parse_options (argv); memset (&symbol, 0, sizeof (parsed_symbol)); switch (globals.mode) { case DMGL: VERBOSE = TRUE; if (globals.input_name == NULL) fatal("No symbol name has been given\n"); printf("%s\n", get_symbol_str(globals.input_name)); break; case SPEC: if (globals.input_name == NULL) fatal("No file name has been given\n"); set_module_name(TRUE); if (!dll_open (globals.input_name)) break; output_spec_preamble (); output_header_preamble (); output_c_preamble (); while (dll_next_symbol (&symbol)) { count++; if (NORMAL) printf ("Export %3d - '%s' ...%c", count, symbol.symbol, VERBOSE ? '\n' : ' '); if (globals.do_code && symbol_searched(count, symbol.symbol)) { /* Attempt to get information about the symbol */ BOOL result = symbol_demangle (&symbol) || symbol_search(&symbol); if (result && symbol.function_name) /* Clean up the prototype */ symbol_clean_string (symbol.function_name); if (NORMAL) puts (result ? "[OK]" : "[Not Found]"); } else if (NORMAL) puts ("[Ignoring]"); output_spec_symbol (&symbol); output_header_symbol (&symbol); output_c_symbol (&symbol); symbol_clear (&symbol); } output_makefile (); if (VERBOSE) puts ("Finished, Cleaning up..."); if (symbol_finish()) return 1; break; case NONE: do_usage(0); break; case DUMP: if (globals.input_name == NULL) fatal("No file name has been given\n"); set_module_name(FALSE); dump_file(globals.input_name); break; } return 0; }