From 21ac031b613eb5158211986a6a3ddf570fe72038 Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Tue, 25 Apr 2023 16:32:21 +0200 Subject: [PATCH] add option port --- webserver.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/webserver.c b/webserver.c index c5d2199..5c95457 100644 --- a/webserver.c +++ b/webserver.c @@ -16,6 +16,7 @@ /* gobal variables */ char *progname = NULL; +int port = 8080; /* help function */ @@ -24,6 +25,7 @@ int usage (int ret) FILE *fid = ret ? stderr : stdout; fprintf (fid, "usage: %s\n", progname); fprintf (fid, " -h : help message\n"); + fprintf (fid, " -p : port number (%d)\n", port); fprintf (fid, " -v : verbose level (%d)\n", verbose); return ret; @@ -58,16 +60,18 @@ int main (int argc, char *argv[]) } char c = arg[1]; switch (c) { -/* - case 'i': + case 'p': arg = (arg[2]) ? arg + 2 : (--argc > 0) ? *(++argv) : NULL; if (arg == NULL) { - VERBOSE (ERROR, fprintf (stderr, "%s: missing input prompt\n", progname); usage (1)); + VERBOSE (ERROR, fprintf (stderr, "%s: missing port number\n", progname); usage (1)); + return 1; + } + port = atoi (arg); + if (port <= 0) { + VERBOSE (ERROR, fprintf (stderr, "%s: incorrect port number (%s)\n", progname, arg); usage (1)); return 1; } - iprompt = arg; break; -*/ case 'v': arg = (arg[2]) ? arg + 2 : (--argc > 0) ? *(++argv) : NULL; if (arg == NULL) { @@ -87,9 +91,11 @@ int main (int argc, char *argv[]) // test: webserver.exe -h // test: webserver.exe -h | awk '/usage:/ { rc=1 } END { exit (1-rc) }' -// test: echo 1 | webserver.exe -v3 | grep -q value -// test: webserver.exe -_ 2> /dev/null | awk 'END { if (NR == 0) { exit(0) } else exit (1) }' +// test: webserver.exe -_ 2> /dev/null | wc -l | xargs test 0 = // test: webserver.exe -_ 2>&1 | awk '/usage:/ { rc=1 } END { exit (1-rc) }' // test: webserver.exe error 2>&1 | grep -q 'invalid option' +// test: webserver.exe -v 2>&1 | grep -q 'missing verbose level' +// test: webserver.exe -p 2>&1 | grep -q 'missing port number' +// test: webserver.exe -p -1 2>&1 | grep -q 'incorrect port number' /* vim: set ts=4 sw=4 et: */ -- 2.30.2