summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2019-12-23 21:20:19 -0500
committerrsiddharth <s@ricketyspace.net>2020-04-17 20:56:36 -0400
commitc4b34755401eae260c5090588db056b2a2ad49ce (patch)
tree8c60339943da16eb92cd4da2cd32019bb7005a41
parentd1e7a3a05bedb507275ee7ca24b6b3bd2325e782 (diff)
nserver/src/nserve.c: Update nserve.
* nserver/src/nserve.c (nserve): Use `process` to do the actual thing instead of just barfing out the cmd.
-rw-r--r--nserver/src/nserve.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/nserver/src/nserve.c b/nserver/src/nserve.c
index e63fb2f..9718d67 100644
--- a/nserver/src/nserve.c
+++ b/nserver/src/nserve.c
@@ -33,7 +33,7 @@ void nserve(int sock)
char *cmd = (char *) calloc(sizeof(char), CMD_MAX_SIZE + 1);
check_mem(cmd);
- int rc = 0;
+ int rc = 0, done = 0;
do {
// clear out, cmd.
memset(out, '\0', RSP_SIZE + 1);
@@ -43,19 +43,15 @@ void nserve(int sock)
ssize_t bytes = slurpsock(cmd, CMD_MAX_SIZE, sock);
check(bytes >= 0, "nserve: slurpsock failed");
- rc = check_cmd(cmd, out);
+ rc = process(cmd, out);
if (rc < 0) {
- // cmd invalid; quit.
- rc = barfsock(out, strlen(out), sock);
- check(rc != -1, "barfsock failed");
-
- break;
+ done = 1;
}
// Write response to socket.
- rc = barfsock(cmd, bytes, sock);
+ rc = barfsock(out, strlen(out), sock);
check(rc != -1, "nserve: echo failed");
- } while(1);
+ } while(done != 1);
// Close socket.
rc = close(sock);