]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - buffer_tree.c
Introduce and use generic_filter_pre_select().
[paraslash.git] / buffer_tree.c
index 2c02c69466f19111241aa835dd2f919cf710ecc0..cd3a3c78a45db3babb73c34a3b860b55c2d99bd7 100644 (file)
@@ -311,7 +311,7 @@ void *btr_context(struct btr_node *btrn)
  *
  * \return The number of buffers that have been available (zero, one or two).
  */
-int btr_merge(struct btr_node *btrn)
+static int merge_input(struct btr_node *btrn)
 {
        struct btr_buffer_reference *brs[2], *br;
        char *bufs[2], *buf;
@@ -352,14 +352,22 @@ int btr_merge(struct btr_node *btrn)
        return 2;
 }
 
-void btr_merge_to(struct btr_node *btrn, size_t dest_size)
+void btr_merge(struct btr_node *btrn, size_t dest_size)
 {
        for (;;) {
                char *buf;
                size_t len = btr_next_buffer(btrn, &buf);
                if (len >= dest_size)
                        return;
-               if (btr_merge(btrn) < 2)
+               if (merge_input(btrn) < 2)
                        return;
        }
 }
+
+bool btr_eof(struct btr_node *btrn)
+{
+       char *buf;
+       size_t len = btr_next_buffer(btrn, &buf);
+
+       return (len == 0 && btr_no_parent(btrn));
+}