Code

vcs-svn: teach line_buffer to handle multiple input files
[git.git] / test-line-buffer.c
index c11bf7f96708c90c992423fc27b2eba73d0c34a0..f9af892d28efce4dbbf5aef812917c380a672b17 100644 (file)
@@ -22,25 +22,26 @@ static uint32_t strtouint32(const char *s)
 
 int main(int argc, char *argv[])
 {
+       struct line_buffer buf = LINE_BUFFER_INIT;
        char *s;
 
        if (argc != 1)
                usage("test-line-buffer < input.txt");
-       if (buffer_init(NULL))
+       if (buffer_init(&buf, NULL))
                die_errno("open error");
-       while ((s = buffer_read_line())) {
-               s = buffer_read_string(strtouint32(s));
+       while ((s = buffer_read_line(&buf))) {
+               s = buffer_read_string(&buf, strtouint32(s));
                fputs(s, stdout);
                fputc('\n', stdout);
-               buffer_skip_bytes(1);
-               if (!(s = buffer_read_line()))
+               buffer_skip_bytes(&buf, 1);
+               if (!(s = buffer_read_line(&buf)))
                        break;
-               buffer_copy_bytes(strtouint32(s) + 1);
+               buffer_copy_bytes(&buf, strtouint32(s) + 1);
        }
-       if (buffer_deinit())
+       if (buffer_deinit(&buf))
                die("input error");
        if (ferror(stdout))
                die("output error");
-       buffer_reset();
+       buffer_reset(&buf);
        return 0;
 }