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 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];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user