]> git.pond.sub.org Git - empserver/blobdiff - src/client/expect.c
(parseid): New, factored out of recvline() and recv_output().
[empserver] / src / client / expect.c
index cb0e9571ce2d9f370a6eb459ae50a3ad3cec2041..d278eba4c4f3c6baeb81775a59406667cf6207bf 100644 (file)
@@ -58,10 +58,9 @@ int
 recvline(int s, char *buf)
 {
     int sz = 1024;
-    char *bp, *end;
+    char *bp;
     char ch;
     ssize_t n;
-    long id;
 
     bp = buf;
     for (;;) {
@@ -84,10 +83,18 @@ recvline(int s, char *buf)
 
     *bp++ = ch;
     *bp = 0;
+    return parseid(buf);
+}
+
+int
+parseid(char *line)
+{
+    char *end;
+    long id;
 
-    id = strtol(buf, &end, 16);
-    if (end == buf || *end != ' ') {
-       fprintf(stderr, "Malformed id in line %s", buf);
+    id = strtol(line, &end, 16);
+    if (end == line || *end != ' ') {
+       fprintf(stderr, "Malformed id in line %s", line);
        id = -1;
     }
     if (id > C_LAST)