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/cat.c

    r942 r1183  
    7878#endif
    7979
     80#include "kmkbuiltin.h"
     81
     82
    8083int bflag, eflag, nflag, sflag, tflag, vflag;
    8184/*int rval;*/
    8285const char *filename;
    8386
    84 static int usage(void);
     87static struct option long_options[] =
     88{
     89    { "help",                                           no_argument, 0, 261 },
     90    { "version",                                        no_argument, 0, 262 },
     91    { 0, 0,     0, 0 },
     92};
     93
     94
     95static int usage(FILE *);
    8596static int scanfiles(char *argv[], int cooked);
    8697static int cook_cat(FILE *);
     
    92103
    93104int
    94 kmk_builtin_cat(int argc, char *argv[])
     105kmk_builtin_cat(int argc, char *argv[], char **envp)
    95106{
    96107        int ch, rc;
     
    111122#endif
    112123
    113         while ((ch = getopt(argc, argv, "benstuv")) != -1)
     124        while ((ch = getopt_long(argc, argv, "benstuv", long_options, NULL)) != -1)
    114125                switch (ch) {
    115126                case 'b':
     
    134145                        vflag = 1;
    135146                        break;
     147                case 261:
     148                        usage(stdout);
     149                        return 0;
     150                case 262:
     151                        return kbuild_version(argv[0]);
    136152                default:
    137                         return usage();
     153                        return usage(stderr);
    138154                }
    139155        argv += optind;
     
    151167
    152168static int
    153 usage(void)
    154 {
    155         fprintf(stderr, "usage: cat [-benstuv] [file ...]\n");
     169usage(FILE *fp)
     170{
     171        fprintf(fp, "usage: %s [-benstuv] [file ...]\n"
     172                                "   or: %s --help\n"
     173                                "   or: %s --version\n",
     174                        g_progname, g_progname, g_progname);
    156175        return 1;
    157176}
Note: See TracChangeset for help on using the changeset viewer.