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

    r1141 r1183  
    7979#include "cp_extern.h"
    8080
     81#include "kmkbuiltin.h"
     82
     83
    8184#ifndef S_IFWHT
    8285#define S_IFWHT 0
     
    115118enum op { FILE_TO_FILE, FILE_TO_DIR, DIR_TO_DNE };
    116119
     120static struct option long_options[] =
     121{
     122    { "help",                                           no_argument, 0, 261 },
     123    { "version",                                        no_argument, 0, 262 },
     124    { 0, 0,     0, 0 },
     125};
     126
     127
    117128static int copy(char *[], enum op, int);
    118129static int mastercmp(const FTSENT * const *, const FTSENT * const *);
     
    120131static void siginfo(int __unused);
    121132#endif
     133static int usage(FILE *);
    122134
    123135int
    124 kmk_builtin_cp(int argc, char *argv[])
     136kmk_builtin_cp(int argc, char *argv[], char **envp)
    125137{
    126138        struct stat to_stat, tmp_stat;
     
    145157
    146158        Hflag = Lflag = Pflag = 0;
    147         while ((ch = getopt(argc, argv, "HLPRfinprv")) != -1)
     159        while ((ch = getopt_long(argc, argv, "HLPRfinprv", long_options, NULL)) != -1)
    148160                switch (ch) {
    149161                case 'H':
     
    191203                        vflag = 1;
    192204                        break;
     205                case 261:
     206                        usage(stdout);
     207                        return 0;
     208                case 262:
     209                        return kbuild_version(argv[0]);
    193210                default:
    194                         return usage();
     211                        return usage(stderr);
    195212                }
    196213        argc -= optind;
     
    198215
    199216        if (argc < 2)
    200                 return usage();
     217                return usage(stderr);
    201218
    202219        fts_options = FTS_NOCHDIR | FTS_PHYSICAL;
     
    270287                 */
    271288                if (argc > 1)
    272                         return usage();
     289                        return usage(stderr);
    273290                /*
    274291                 * Need to detect the case:
     
    573590}
    574591#endif
     592
     593
     594static int
     595usage(FILE *fp)
     596{
     597        fprintf(fp, "usage: %s [-R [-H | -L | -P]] [-f | -i | -n] [-pv] src target\n"
     598                                "   or: %s [-R [-H | -L | -P]] [-f | -i | -n] [-pv] src1 ... srcN directory\n"
     599                                "   or: %s --help\n"
     600                                "   or: %s --version\n",
     601                        g_progname, g_progname, g_progname, g_progname);
     602        return EX_USAGE;
     603}
Note: See TracChangeset for help on using the changeset viewer.