Ignore:
Timestamp:
Oct 6, 2007, 12:16:46 AM (18 years ago)
Author:
bird
Message:

Added --version and --help to all builtins.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/kmkbuiltin/append.c

    r820 r1183  
    3939 * Prints the usage and return 1.
    4040 */
    41 static int usage(void)
     41static int usage(FILE *pf)
    4242{
    43     fprintf(stderr, "usage: append [-nv] file [string ...]\n");
     43    fprintf(pf,
     44            "usage: %s [-nv] file [string ...]\n"
     45            "   or: %s --version\n"
     46            "   or: %s --help\n",
     47            g_progname, g_progname, g_progname);
    4448    return 1;
    4549}
     
    6872       &&  argv[i][0] == '-'
    6973       &&  argv[i][1] != '\0' /* '-' is a file */
    70        &&  strchr("nv", argv[i][1]) /* valid option char */
     74       &&  strchr("-nv", argv[i][1]) /* valid option char */
    7175       )
    7276    {
    7377        char *psz = &argv[i][1];
    74         do
     78        if (*psz != '-')
    7579        {
    76             switch (*psz)
     80            do
    7781            {
    78                 case 'n':
    79                     fNewLine = 1;
    80                     break;
    81                 case 'v':
     82                switch (*psz)
     83                {
     84                    case 'n':
     85                        fNewLine = 1;
     86                        break;
     87                    case 'v':
    8288#ifndef kmk_builtin_append
    83                     fVariables = 1;
    84                     break;
     89                        fVariables = 1;
     90                        break;
    8591#else
    86                     errx(1, "Option '-v' isn't supported in external mode.");
    87                     return usage();
     92                        errx(1, "Option '-v' isn't supported in external mode.");
     93                        return usage(stderr);
    8894#endif
    89                 default:
    90                     errx(1, "Invalid option '%c'! (%s)", *psz, argv[i]);
    91                     return usage();
    92             }
    93         } while (*++psz);
     95                    default:
     96                        errx(1, "Invalid option '%c'! (%s)", *psz, argv[i]);
     97                        return usage(stderr);
     98                }
     99            } while (*++psz);
     100        }
     101        else if (!strcmp(psz, "-help"))
     102        {
     103            usage(stdout);
     104            return 0;
     105        }
     106        else if (!strcmp(psz, "-version"))
     107            return kbuild_version(argv[0]);
     108        else
     109            break;
    94110        i++;
    95111    }
     
    101117    {
    102118        errx(1, "missing filename!");
    103         return usage();
     119        return usage(stderr);
    104120    }
    105121    pFile = fopen(argv[i], "a");
Note: See TracChangeset for help on using the changeset viewer.