--- basename.c | 5 ++++- dirname.c | 6 +++++- printf.c | 12 ++++++++---- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/basename.c b/basename.c index 4a6ac2a..94a2848 100644 --- a/basename.c +++ b/basename.c _AT_@ -17,7 +17,10 @@ main(int argc, char *argv[]) ssize_t off; char *p; - argv0 = argv[0], argc--, argv++; + ARGBEGIN { + default: + usage(); + } ARGEND if (argc != 1 && argc != 2) usage(); diff --git a/dirname.c b/dirname.c index 4bef9a4..3207f3e 100644 --- a/dirname.c +++ b/dirname.c _AT_@ -1,6 +1,7 @@ /* See LICENSE file for copyright and license details. */ #include <libgen.h> #include <stdio.h> +#include <string.h> #include "util.h" _AT_@ -13,7 +14,10 @@ usage(void) int main(int argc, char *argv[]) { - argv0 = argv[0], argc--, argv++; + ARGBEGIN { + default: + usage(); + } ARGEND if (argc != 1) usage(); diff --git a/printf.c b/printf.c index 2e24817..e729550 100644 --- a/printf.c +++ b/printf.c _AT_@ -25,11 +25,15 @@ main(int argc, char *argv[]) int cooldown = 0, width, precision, ret = 0; char *format, *tmp, *arg, *fmt, flag; - argv0 = argv[0]; - if (argc < 2) + ARGBEGIN { + default: usage(); + } ARGEND - format = argv[1]; + if (!argc) + usage(); + + format = argv[0]; if ((tmp = strstr(format, "\\c"))) { *tmp = 0; cooldown = 1; _AT_@ -38,7 +42,7 @@ main(int argc, char *argv[]) if (formatlen == 0) return 0; lastargi = 0; - for (i = 0, argi = 2; !cooldown || i < formatlen; i++, i = cooldown ? i : (i % formatlen)) { + for (i = 0, argi = 1; !cooldown || i < formatlen; i++, i = cooldown ? i : (i % formatlen)) { if (i == 0) { if (lastargi == argi) break; -- 2.7.3Received on Fri Mar 25 2016 - 21:31:37 CET
This archive was generated by hypermail 2.3.0 : Fri Mar 25 2016 - 21:36:15 CET