VirtualBox

Changeset 227 in kBuild for trunk/src/gmake/kmkbuiltin


Ignore:
Timestamp:
Feb 9, 2005 10:21:34 AM (20 years ago)
Author:
bird
Message:

builtin stuff.

Location:
trunk/src/gmake/kmkbuiltin
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gmake/kmkbuiltin/mkdir.c

    r226 r227  
    4040#endif
    4141#include <sys/cdefs.h>
    42 __FBSDID("$FreeBSD: src/bin/mkdir/mkdir.c,v 1.28 2004/04/06 20:06:48 markm Exp $");
     42//__FBSDID("$FreeBSD: src/bin/mkdir/mkdir.c,v 1.28 2004/04/06 20:06:48 markm Exp $");
    4343
    4444#include <sys/types.h>
    4545#include <sys/stat.h>
    4646
    47 #include <err.h>
     47//#include <err.h>
    4848#include <errno.h>
    4949#include <libgen.h>
     
    5454#include <unistd.h>
    5555
     56extern void * setmode(const char *p);
     57extern mode_t getmode(const void *bbox, mode_t omode);
     58
    5659static int      build(char *, mode_t);
    57 static void     usage(void);
     60static int      usage(void);
    5861
    5962int vflag;
    6063
    6164int
    62 main(int argc, char *argv[])
     65kmk_builtin_mkdir(int argc, char *argv[])
    6366{
    6467        int ch, exitval, success, pflag;
     
    6871        omode = pflag = 0;
    6972        mode = NULL;
     73        opterr = 1;
     74        optarg = NULL;
     75        optopt = 0;
     76        optind = 0; /* init */
    7077        while ((ch = getopt(argc, argv, "m:pv")) != -1)
    7178                switch(ch) {
     
    8087                        break;
    8188                case '?':
    82                 default:
    83                         usage();
     89                default:
     90                        return usage();
    8491                }
    8592
     
    8794        argv += optind;
    8895        if (argv[0] == NULL)
    89                 usage();
     96                return usage();
    9097
    9198        if (mode == NULL) {
    9299                omode = S_IRWXU | S_IRWXG | S_IRWXO;
    93100        } else {
    94                 if ((set = setmode(mode)) == NULL)
    95                         errx(1, "invalid file mode: %s", mode);
     101                if ((set = setmode(mode)) == NULL) {
     102                        fprintf(stderr, "%s: invalid file mode: %s", mode, argv[0]);
     103                        return 1;
     104                }
    96105                omode = getmode(set, S_IRWXU | S_IRWXG | S_IRWXO);
    97106                free(set);
     
    105114                } else if (mkdir(*argv, omode) < 0) {
    106115                        if (errno == ENOTDIR || errno == ENOENT)
    107                                 warn("%s", dirname(*argv));
     116                                fprintf(stderr, "%s: %s", argv[0], dirname(*argv));
    108117                        else
    109                                 warn("%s", *argv);
     118                                fprintf(stderr, "%s: %s", argv[0], *argv);
    110119                        success = 0;
    111120                } else if (vflag)
     
    122131                 */
    123132                if (success && mode != NULL && chmod(*argv, omode) == -1) {
    124                         warn("%s", *argv);
     133                        fprintf(stderr, "%s: %s", argv[0], *argv);
    125134                        exitval = 1;
    126135                }
    127136        }
    128         exit(exitval);
     137        return exitval;
    129138}
    130139
     
    200209}
    201210
    202 void
     211int
    203212usage(void)
    204213{
    205214
    206215        (void)fprintf(stderr, "usage: mkdir [-pv] [-m mode] directory ...\n");
    207         exit (EX_USAGE);
     216        return EX_USAGE;
    208217}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette