recvline(int s, char *buf)
{
int sz = 1024;
- char *bp, *end;
+ char *bp;
char ch;
ssize_t n;
- long id;
bp = buf;
for (;;) {
*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)