Re: [PATCH] setarch: add long options to setarch and update manpage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 03, 2007 at 05:20:57PM +0800, Li Zefan wrote:
> >     * TODO: add long options for all flags
> 
> I've done this, and the manpage also has been updated. But I'm not sure that
> the names of long options are appropriate.

 Cool! Cannot we use getopt_long()?

>    for (argv++, argc--; argc && argv[0][0] == '-'; argv++, argc--) {
> -    int n, unknown = 1;
> +    int n, f, unknown = 1;
>      const char *arg = argv[0];
> 
>      if (!strcmp(arg, "--help"))
>        show_help();
> 
>      /* compatibitity with an old Debian setarch implementation
> -     * TODO: add long options for all flags
>       */
> -    if (!strcmp(arg, "--3gb"))
> -      arg="-3";
> -    else if (!strcmp(arg, "--4gb"))
> +    if (!strcmp(arg, "--4gb"))
>        continue;                                /* just ignore this one */
> 
> -    for (n = 1; arg[n]; n++) {
> -      int f;
> +    /* long option name */
> +    if (arg[1] == '-') {

 if (arg[1] == '-' && arg[2] != '\0')

> +      arg += 2;
> +
> +      if (!strcmp(arg, "verbose")) {
> +        verbose = 1;
> +        continue;
> +
> +      for (f = 0; f < sizeof(flags) / sizeof(flags[0]); f++) {
> +        if (!strcmp(arg, flags[f].long_opt)) {
> +          if (verbose)
> +            fprintf(stderr, _("Switching on %s.\n"), flags[f].name);
> +          options |= flags[f].option;
> +          unknown = 0;
> +          break;
> +        }
> +      }
> +      if (unknown)
> +        error(0, 0, _("Unknown option `%c' ignored"), arg[n]);

  error(0, 0, _("Unknown option `%c' ignored"), arg);

        Karel

-- 
 Karel Zak  <kzak@xxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux