void FC_FUNC_(getopt_help, GETOPT_HELP) (STR_F_TYPE mode, STR_F_TYPE name STR_ARG2) { int c; #if defined(HAVE_GETOPT_LONG) static struct option long_options[] = { {"help", no_argument, 0, 'h'}, {"version", no_argument, 0, 'v'}, {"list", no_argument, 0, 'l'}, {"search", required_argument, 0, 's'}, {"print", required_argument, 0, 'p'}, {0, 0, 0, 0} }; #endif while (1) { int option_index = 0; #if defined(HAVE_GETOPT_LONG) c = getopt_long(argc, argv, "hvls:p:", long_options, &option_index); #else c = getopt(argc, argv, "hvls:p:"); #endif if(argc==1) help_help(); if (c == -1) break; switch (c) { case 'h': help_help(); break; case 'v': printf("octopus %s (svn version %s)\n", PACKAGE_VERSION, LATEST_SVN); exit(0); case 'l': TO_F_STR1("list", mode); return; case 's': TO_F_STR1("search", mode); TO_F_STR2(optarg, name); return; case 'p': TO_F_STR1("print", mode); TO_F_STR2(optarg, name); return; } } if (optind < argc) help_help(); }
// Lua: res = help( [topic] ) static int elua_help( lua_State *L ) { const char *topic = NULL; if( lua_type( L, 1 ) == LUA_TSTRING ) topic = luaL_checkstring( L, 1 ); help_init( HELP_FILE_NAME ); term_set_mode( TERM_MODE_COLS ); term_enable_paging( TERM_PAGING_ON ); help_help( topic ); term_set_mode( TERM_MODE_ASCII ); term_enable_paging( TERM_PAGING_OFF ); help_close(); return 0; }
void help(char *command) { if(!command) help_ls(); else if(!strcmp(command, "help" )) help_help(); else if(!strcmp(command, "prompt" )) help_prompt(); else if(!strcmp(command, "init" )) help_init(); else if(!strcmp(command, "drop" )) help_drop(); else if(!strcmp(command, "create-service")) help_create_service(); else if(!strcmp(command, "list" )) help_list(); else if(!strcmp(command, "switch" )) help_switch(); else if(!strcmp(command, "back" )) help_back(); else if(!strcmp(command, "book" )) help_book(); else if(!strcmp(command, "service" )) help_service(); else if(!strcmp(command, "bill" )) help_bill(); else if(!strcmp(command, "checkout" )) help_checkout(); else error_print("Unknown command!"); }
int cmd_help(int argc, char *argv[]) { FILE *output = stdout; int res = EXIT_SUCCESS; if (strcmp(argv[0], "help_err") == 0) { output = stderr; res = EXIT_FAILURE; } if (argc == 1) { help(output); return res; } if (strcmp(argv[1], "backup") == 0) help_backup(output); else if (strcmp(argv[1], "restore") == 0) help_restore(output); else if (strcmp(argv[1], "delete") == 0) help_delete(output); else if (strcmp(argv[1], "list") == 0) help_list(output); else if (strcmp(argv[1], "help") == 0) help_help(output); else { int help_argc = 2; char *help_argv[] = { "help_err", "help", NULL }; return cmd_help(help_argc, help_argv); } return res; }
static cb_ret_t help_execute_cmd (unsigned long command) { cb_ret_t ret = MSG_HANDLED; switch (command) { case CK_Help: help_help (whelp); break; case CK_Index: help_index (whelp); break; case CK_Back: help_back (whelp); break; case CK_Up: help_prev_link (TRUE); break; case CK_Down: help_next_link (TRUE); break; case CK_PageDown: move_forward (help_lines - 1); break; case CK_PageUp: move_backward (help_lines - 1); break; case CK_HalfPageDown: move_forward (help_lines / 2); break; case CK_HalfPageUp: move_backward (help_lines / 2); break; case CK_Top: move_to_top (); break; case CK_Bottom: move_to_bottom (); break; case CK_Enter: help_select_link (); break; case CK_LinkNext: help_next_link (FALSE); break; case CK_LinkPrev: help_prev_link (FALSE); break; case CK_NodeNext: help_next_node (); break; case CK_NodePrev: help_prev_node (); break; case CK_Quit: dlg_stop (whelp); break; default: ret = MSG_NOT_HANDLED; } return ret; }
int DOSNEAR FASTCALL ValidateSwitches(USHORT cmd, SWITCHTAB valid_list[]) { USHORT match; int comp_result; USHORT candidate; /* most recent NEAR match */ USHORT i,j; TCHAR * good_one; /* which element (cmd_line or trans) of the valid_list */ int needed; TCHAR FAR * sepptr; for (i = 0; SwitchList[i]; i++) { sepptr = _tcschr(SwitchList[i], ':'); if (sepptr) *sepptr = NULLC; _tcsupr(SwitchList[i]); if (sepptr) *sepptr = ':'; candidate = 0; match = 0; for (j = 0; valid_list[j].cmd_line; j++) { comp_result = sw_compare(valid_list[j].cmd_line, SwitchList[i]); if (comp_result == 0) { candidate = j; match = 1; break; } else if (comp_result == 1) { match++; candidate = j; } } if (match == 0) { if (! _tcscmp(swtxt_SW_HELP, SwitchList[i])) help_help(cmd, ALL); if (! _tcscmp(swtxt_SW_SYNTAX, SwitchList[i])) help_help(cmd, USAGE_ONLY); IStrings[0] = SwitchList[i]; ErrorPrint(APE_SwUnkSw, 1); help_help(cmd, USAGE_ONLY); } else if (match > 1) { IStrings[0] = SwitchList[i]; ErrorPrint(APE_SwAmbSw, 1); help_help(cmd, USAGE_ONLY); } switch(valid_list[candidate].arg_ok) { case NO_ARG: if (sepptr) { ErrorPrint(APE_InvalidSwitchArg, 0); help_help(cmd, USAGE_ONLY); } break; case ARG_OPT: break; case ARG_REQ: if (!sepptr) { ErrorPrint(APE_InvalidSwitchArg, 0); help_help(cmd, USAGE_ONLY); } break; } /* (expansion || translation) required ? */ if (comp_result || valid_list[candidate].translation) { if (valid_list[candidate].translation) good_one = valid_list[candidate].translation; else good_one = valid_list[candidate].cmd_line; needed = _tcslen(good_one); if (sepptr) needed += _tcslen(sepptr); if ((SwitchList[i] = calloc(needed+1, sizeof(TCHAR))) == NULL) ErrorExit(NERR_InternalError); _tcscpy(SwitchList[i], good_one); if (sepptr) _tcscat(SwitchList[i], sepptr); } } return 1; }