Exemple #1
0
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();

}
Exemple #2
0
// 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;
}
Exemple #3
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!");
}
Exemple #4
0
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;
}
Exemple #5
0
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;
}
Exemple #6
0
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;
}