Blank-out only the remaining slots
authorSiraaj Khandkar <siraaj@khandkar.net>
Thu, 12 Mar 2020 01:13:25 +0000 (21:13 -0400)
committerSiraaj Khandkar <siraaj@khandkar.net>
Thu, 12 Mar 2020 01:13:25 +0000 (21:13 -0400)
x5/khatus.c

index 2a026dc..26e491a 100644 (file)
@@ -276,14 +276,14 @@ fifo_read_one(Fifo *f, char *buf)
        total = 0;
        c = '\0';
        b = buf + f->pos;
-       /* TODO: Could optimize here and only blank-out the remaining slots. */
-       memset(b, ' ', f->width);
        while ((current = read(f->fd, &c, 1)) && c != '\n' && c != '\0' && total++ < f->width)
                *b++ = c;
        if (current == -1) {
                error("Failed to read: \"%s\". Error: %s\n", f->name, strerror(errno));
                fifo_read_error(f, buf);
-       }
+       } else
+               while (total++ < f->width)
+                       *b++ = ' ';
        /* TODO Record timestamp read */
        close(f->fd);
        f->fd = -1;
This page took 0.018343 seconds and 4 git commands to generate.