Rev 3319 | Rev 3356 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 3311 | post | 1 | /* Automatically generated by mknewcmd on Wed Aug 13 15:41:09 PHT 2008 |
| 3277 | post | 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> |
||
| 3319 | post | 11 | #include <getopt.h> |
| 12 | |||
| 3311 | post | 13 | #include "config.h" |
| 14 | #include "util.h" |
||
| 15 | #include "errors.h" |
||
| 3277 | post | 16 | #include "entry.h" |
| 17 | #include "cat.h" |
||
| 18 | #include "cmds.h" |
||
| 19 | |||
| 20 | static char *cmdname = "cat"; |
||
| 21 | |||
| 3319 | post | 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 | |||
| 3277 | post | 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); |
||
| 3311 | post | 34 | return CMD_VOID; |
| 3277 | post | 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; |
||
| 3319 | post | 42 | int c, opt_ind; |
| 3277 | post | 43 | |
| 44 | /* Count the arguments */ |
||
| 45 | for (argc = 0; argv[argc] != NULL; argc ++); |
||
| 46 | |||
| 47 | printf("%s %s\n", TEST_ANNOUNCE, cmdname); |
||
| 3319 | post | 48 | printf("%d arguments passed to %s\n", argc - 1, cmdname); |
| 3277 | post | 49 | |
| 50 | for (i = 1; i < argc; i++) |
||
| 51 | printf("[%d] -> %s\n", i, argv[i]); |
||
| 52 | |||
| 3319 | post | 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 | |||
| 3311 | post | 70 | return CMD_SUCCESS; |
| 3277 | post | 71 | } |
| 72 |