From 30cfdf67830fd753b81393f5e136176c8c786479 Mon Sep 17 00:00:00 2001 From: Kranklyboy Date: Wed, 18 Apr 2018 19:28:05 +0200 Subject: [PATCH] Added separate function parsesArg() for parsing the -s argument --- websh.c | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/websh.c b/websh.c index 742adc7..d17c114 100644 --- a/websh.c +++ b/websh.c @@ -17,6 +17,10 @@ static const char *pname; +static int eFlag = 0; +static int hFlag = 0; +static int sFlag = 0; + static const char *word; static const char *tag; @@ -26,12 +30,26 @@ void usage(void) exit(EXIT_FAILURE); } +void parsesArg(char *sArg) +{ + char *token; + int i = 0; + while ((token = strsep(&sArg, ":"))) { + if (strcmp(token, "") == 0) + usage(); + if (i == 2) + usage(); + if (i == 0) { + word = token; + } else { + tag = token; + } + i++; + } +} + void parse(int argc, char *argv[]) { - int eFlag = 0; - int hFlag = 0; - int sFlag = 0; - int optInd = 0; char *sArg; @@ -57,6 +75,7 @@ void parse(int argc, char *argv[]) } else { sFlag = 1; sArg = optarg; + parsesArg(sArg); } break; case '?': @@ -67,19 +86,6 @@ void parse(int argc, char *argv[]) } } - char *token; - int i = 0; - while ((token = strsep(&sArg, ":"))) { - if (i == 2) - usage(); - if (i == 0) { - word = token; - } else { - tag = token; - } - i++; - } - pname = argv[0]; }