Added separate function parsesArg() for parsing the -s argument
This commit is contained in:
parent
00efa76eaa
commit
30cfdf6783
40
websh.c
40
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];
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user