Added separate function parsesArg() for parsing the -s argument

This commit is contained in:
Kranklyboy 2018-04-18 19:28:05 +02:00
parent 00efa76eaa
commit 30cfdf6783

40
websh.c
View File

@ -17,6 +17,10 @@
static const char *pname; static const char *pname;
static int eFlag = 0;
static int hFlag = 0;
static int sFlag = 0;
static const char *word; static const char *word;
static const char *tag; static const char *tag;
@ -26,12 +30,26 @@ void usage(void)
exit(EXIT_FAILURE); 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[]) void parse(int argc, char *argv[])
{ {
int eFlag = 0;
int hFlag = 0;
int sFlag = 0;
int optInd = 0; int optInd = 0;
char *sArg; char *sArg;
@ -57,6 +75,7 @@ void parse(int argc, char *argv[])
} else { } else {
sFlag = 1; sFlag = 1;
sArg = optarg; sArg = optarg;
parsesArg(sArg);
} }
break; break;
case '?': 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]; pname = argv[0];
} }