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