1 | /* Automatically generated by mknewcmd on Wed Aug 13 15:41:09 PHT 2008
|
---|
2 | * This is machine generated output. The author of mknewcmd claims no
|
---|
3 | * copyright over the contents of this file. Where legally permitted, the
|
---|
4 | * contents herein are donated to the public domain.
|
---|
5 | *
|
---|
6 | * You should apply any license and copyright that you wish to this file,
|
---|
7 | * replacing this header in its entirety. */
|
---|
8 |
|
---|
9 | #include <stdio.h>
|
---|
10 | #include <stdlib.h>
|
---|
11 | #include <getopt.h>
|
---|
12 |
|
---|
13 | #include "config.h"
|
---|
14 | #include "util.h"
|
---|
15 | #include "errors.h"
|
---|
16 | #include "entry.h"
|
---|
17 | #include "cat.h"
|
---|
18 | #include "cmds.h"
|
---|
19 |
|
---|
20 | static char *cmdname = "cat";
|
---|
21 |
|
---|
22 | static struct option long_options[] = {
|
---|
23 | { "help", no_argument, 0, 'h' },
|
---|
24 | { "version", no_argument, 0, 'v' },
|
---|
25 | { "file", required_argument, 0, 'f' },
|
---|
26 | { 0, 0, 0, 0 }
|
---|
27 | };
|
---|
28 |
|
---|
29 | /* Dispays help for cat in various levels */
|
---|
30 | void * help_cmd_cat(unsigned int level)
|
---|
31 | {
|
---|
32 | printf("This is the %s help for '%s'.\n",
|
---|
33 | level ? EXT_HELP : SHORT_HELP, cmdname);
|
---|
34 | return CMD_VOID;
|
---|
35 | }
|
---|
36 |
|
---|
37 | /* Main entry point for cat, accepts an array of arguments */
|
---|
38 | int * cmd_cat(char **argv)
|
---|
39 | {
|
---|
40 | unsigned int argc;
|
---|
41 | unsigned int i;
|
---|
42 | int c, opt_ind;
|
---|
43 |
|
---|
44 | /* Count the arguments */
|
---|
45 | for (argc = 0; argv[argc] != NULL; argc ++);
|
---|
46 |
|
---|
47 | printf("%s %s\n", TEST_ANNOUNCE, cmdname);
|
---|
48 | printf("%d arguments passed to %s\n", argc - 1, cmdname);
|
---|
49 |
|
---|
50 | for (i = 1; i < argc; i++)
|
---|
51 | printf("[%d] -> %s\n", i, argv[i]);
|
---|
52 |
|
---|
53 | for (c = 0, optind = 0, opt_ind = 0; c != -1;) {
|
---|
54 | c = getopt_long(argc, argv, "f:hv", long_options, &opt_ind);
|
---|
55 | switch (c) {
|
---|
56 | case 'h':
|
---|
57 | help_cmd_cat(HELP_SHORT);
|
---|
58 | break;
|
---|
59 | case 'v':
|
---|
60 | printf("I have no version, sorry.\n");
|
---|
61 | break;
|
---|
62 | case 'f':
|
---|
63 | printf("File : %s\n", optarg);
|
---|
64 | break;
|
---|
65 | }
|
---|
66 | }
|
---|
67 |
|
---|
68 | printf("argc = %d, optind = %d\n", argc, optind);
|
---|
69 |
|
---|
70 | return CMD_SUCCESS;
|
---|
71 | }
|
---|
72 |
|
---|