Changeset 1183 for trunk/src/kmk/kmkbuiltin/cp.c
- Timestamp:
- Oct 6, 2007, 12:16:46 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/kmkbuiltin/cp.c
r1141 r1183 79 79 #include "cp_extern.h" 80 80 81 #include "kmkbuiltin.h" 82 83 81 84 #ifndef S_IFWHT 82 85 #define S_IFWHT 0 … … 115 118 enum op { FILE_TO_FILE, FILE_TO_DIR, DIR_TO_DNE }; 116 119 120 static 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 117 128 static int copy(char *[], enum op, int); 118 129 static int mastercmp(const FTSENT * const *, const FTSENT * const *); … … 120 131 static void siginfo(int __unused); 121 132 #endif 133 static int usage(FILE *); 122 134 123 135 int 124 kmk_builtin_cp(int argc, char *argv[] )136 kmk_builtin_cp(int argc, char *argv[], char **envp) 125 137 { 126 138 struct stat to_stat, tmp_stat; … … 145 157 146 158 Hflag = Lflag = Pflag = 0; 147 while ((ch = getopt (argc, argv, "HLPRfinprv")) != -1)159 while ((ch = getopt_long(argc, argv, "HLPRfinprv", long_options, NULL)) != -1) 148 160 switch (ch) { 149 161 case 'H': … … 191 203 vflag = 1; 192 204 break; 205 case 261: 206 usage(stdout); 207 return 0; 208 case 262: 209 return kbuild_version(argv[0]); 193 210 default: 194 return usage( );211 return usage(stderr); 195 212 } 196 213 argc -= optind; … … 198 215 199 216 if (argc < 2) 200 return usage( );217 return usage(stderr); 201 218 202 219 fts_options = FTS_NOCHDIR | FTS_PHYSICAL; … … 270 287 */ 271 288 if (argc > 1) 272 return usage( );289 return usage(stderr); 273 290 /* 274 291 * Need to detect the case: … … 573 590 } 574 591 #endif 592 593 594 static int 595 usage(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.