From f2542fcf7eb402a866f30bb4a6c9a18453e23461 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 27 Oct 2007 16:21:26 +0000 Subject: [PATCH] (recvline): Simplify parsing out output ids. Also tighten sanity check some. --- src/client/expect.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/client/expect.c b/src/client/expect.c index 84a9bb7d..1c777073 100644 --- a/src/client/expect.c +++ b/src/client/expect.c @@ -35,6 +35,7 @@ #include #include +#include #include #ifndef _WIN32 #include @@ -49,7 +50,6 @@ recvline(int s, char *buf) int size; char *p; int n; - int code; int newline; char *ptr; int cc; @@ -123,18 +123,11 @@ recvline(int s, char *buf) #ifndef _WIN32 (void)alarm(0); #endif - if (!isxdigit(*buf)) { + if (!isxdigit(buf[0]) || buf[1] != ' ') { fprintf(stderr, "Malformed line %s\n", buf); return 0; } - if (isdigit(*buf)) - code = *buf - '0'; - else { - if (isupper(*buf)) - *buf = tolower(*buf); - code = 10 + *buf - 'a'; - } - return code; + return strtol(buf, NULL, 16); } int