Changeset 1183 for trunk/src/kmk/kmkbuiltin/printf.c
- Timestamp:
- Oct 6, 2007, 12:16:46 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/kmkbuiltin/printf.c
r942 r1183 67 67 #endif 68 68 69 #include "kmkbuiltin.h" 70 71 69 72 #ifdef __GNUC__ 70 73 #define ESCAPE '\e' … … 72 75 #define ESCAPE 033 73 76 #endif 77 78 79 static size_t b_length; 80 static char *b_fmt; 81 static int rval; 82 static char **gargv; 83 static struct option long_options[] = 84 { 85 { "help", no_argument, 0, 261 }, 86 { "version", no_argument, 0, 262 }, 87 { 0, 0, 0, 0 }, 88 }; 89 74 90 75 91 static void conv_escape_str(char *, void (*)(int)); … … 84 100 static char *mklong(const char *, int); 85 101 static void check_conversion(const char *, const char *); 86 static void usage(void);102 static int usage(FILE *); 87 103 88 104 static void b_count(int); 89 105 static void b_output(int); 90 static size_t b_length;91 static char *b_fmt;92 93 static int rval;94 static char **gargv;95 106 96 107 #ifdef BUILTIN /* csh builtin */ … … 127 138 } 128 139 129 int kmk_builtin_printf(int argc, char *argv[] )140 int kmk_builtin_printf(int argc, char *argv[], char **envp) 130 141 { 131 142 char *fmt, *start; … … 152 163 #endif 153 164 154 while ((ch = getopt (argc, argv, "")) != -1) {165 while ((ch = getopt_long(argc, argv, "", long_options, NULL)) != -1) { 155 166 switch (ch) { 167 case 261: 168 usage(stdout); 169 return 0; 170 case 262: 171 return kbuild_version(argv[0]); 156 172 case '?': 157 173 default: 158 usage(); 159 return 1; 174 return usage(stderr); 160 175 } 161 176 } … … 164 179 165 180 if (argc < 1) { 166 usage(); 167 return 1; 181 return usage(stderr); 168 182 } 169 183 … … 675 689 } 676 690 677 static void 678 usage(void) 679 { 680 (void)fprintf(stderr, "Usage: %s format [arg ...]\n", g_progname); 681 } 691 static int 692 usage(FILE *pf) 693 { 694 fprintf(pf, "usage: %s format [arg ...]\n" 695 " or: %s --help\n" 696 " or: %s --version\n", 697 g_progname, g_progname, g_progname); 698 return 1; 699 }
Note:
See TracChangeset
for help on using the changeset viewer.