From 211ab388e5f823431771da43bae5971dda2a92e6 Mon Sep 17 00:00:00 2001 From: Alastair Stuart Date: Tue, 15 Jan 2013 07:30:38 -0600 Subject: [PATCH] seq: Return 1 when too few/many arguments are provided --- echo.c | 54 ------------------------------------------------------ seq.c | 3 ++- 2 files changed, 2 insertions(+), 55 deletions(-) delete mode 100644 echo.c diff --git a/echo.c b/echo.c deleted file mode 100644 index a84e791..0000000 --- a/echo.c +++ /dev/null @@ -1,54 +0,0 @@ -#include -#include -#include -#include - -#define VERSION "0.01" - -struct { - bool escape; - bool newline; -} flags; - -void usage(char *program) -{ - printf("Usage: %s [flags] [string ...]]\n", program); - printf("\t-e, --escape\t\t parse escape characters.\n"); - printf("\t-n, --no-newline\t don't print a finishing newline.\n"); - printf("\n"); - printf("\t-h, --help\t\t print program help (this message).\n"); - printf("\t-v, --version\t\t print program name and version.\n"); -} - -int main(int argc, char* argv[]) -{ - // flags init - flags.escape = false; - flags.newline = false; - - - // flag parsing - int i; - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-e") == 0 || strcmp(argv[i], "--escape") == 0) { - flags.escape = true; - } else if (strcmp(argv[i], "-n") == 0 || strcmp(argv[i], "--no-newline") == 0) { - flags.newline = true; - } else if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0) { - usage(argv[0]); - return 0; - } else if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--version") == 0) { - printf("echo (mutos) v"VERSION"\n"); - return 0; - } else { - // done parsing arguments - break; - } - } - - // reuse i from previous loop to continue where we left off - for (; i < argc; i++) { - - } - return 0; -} diff --git a/seq.c b/seq.c index 89169c4..e49e1b7 100644 --- a/seq.c +++ b/seq.c @@ -86,7 +86,7 @@ int main(int argc, char* argv[]) case 0: fprintf(stderr, "%s: too few arguments\n", argv[0]); - break; + return 1; case 1: seq("1", "1", argv[i]); break; @@ -99,6 +99,7 @@ int main(int argc, char* argv[]) default: fprintf(stderr, "%s: too many arguments\n", argv[0]); + return 1; } return 0; -- 2.11.4.GIT