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

    r942 r1183  
    7979#endif
    8080
    81 #if !defined(__FreeBSD__) && !defined(__APPLE__)
    82 extern void strmode(mode_t mode, char *p);
    83 #endif
     81#include "kmkbuiltin.h"
     82
    8483
    8584static int fflg, iflg, nflg, vflg;
     85static struct option long_options[] =
     86{
     87    { "help",                                           no_argument, 0, 261 },
     88    { "version",                                        no_argument, 0, 262 },
     89    { 0, 0,     0, 0 },
     90};
     91
    8692
    8793static int      do_move(char *, char *);
     
    9096static int      copy(char *, char *);
    9197#endif
    92 static int      usage(void);
     98static int      usage(FILE *);
     99
     100#if !defined(__FreeBSD__) && !defined(__APPLE__)
     101extern void strmode(mode_t mode, char *p);
     102#endif
    93103
    94104#if !defined(__FreeBSD__) && !defined(__APPLE__)
     
    115125
    116126int
    117 kmk_builtin_mv(int argc, char *argv[])
     127kmk_builtin_mv(int argc, char *argv[], char **envp)
    118128{
    119129        size_t baselen, len;
     
    134144        optind = 0; /* init */
    135145
    136         while ((ch = getopt(argc, argv, "finv")) != -1)
     146        while ((ch = getopt_long(argc, argv, "finv", long_options, NULL)) != -1)
    137147                switch (ch) {
    138148                case 'i':
     
    151161                        vflg = 1;
    152162                        break;
     163                case 261:
     164                        usage(stdout);
     165                        return 0;
     166                case 262:
     167                        return kbuild_version(argv[0]);
    153168                default:
    154                         return usage();
     169                        return usage(stderr);
    155170                }
    156171        argc -= optind;
     
    158173
    159174        if (argc < 2)
    160                 return usage();
     175                return usage(stderr);
    161176
    162177        /*
     
    166181        if (stat(argv[argc - 1], &sb) || !S_ISDIR(sb.st_mode)) {
    167182                if (argc > 2)
    168                         return usage();
     183                        return usage(stderr);
    169184                return do_move(argv[0], argv[1]);
    170185        }
     
    481496
    482497static int
    483 usage(void)
    484 {
    485 
    486         (void)fprintf(stderr, "%s\n%s\n",
    487                       "usage: mv [-f | -i | -n] [-v] source target",
    488                       "       mv [-f | -i | -n] [-v] source ... directory");
     498usage(FILE *pf)
     499{
     500        fprintf(pf, "usage: %s [-f | -i | -n] [-v] source target\n"
     501                                "   or: %s [-f | -i | -n] [-v] source ... directory\n"
     502                                "   or: %s --help\n"
     503                                "   or: %s --version\n");
    489504        return EX_USAGE;
    490505}
Note: See TracChangeset for help on using the changeset viewer.