]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - buffer_tree.c
Remove some unused error codes.
[paraslash.git] / buffer_tree.c
index 9be53201f76c9400a320688cde6540c4ca227d05..3a59f8b5e2e20fa20c94117dd31e2655101936cf 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2009-2010 Andre Noll <maan@systemlinux.org>
+ *
+ * Licensed under the GPL v2. For licencing details see COPYING.
+ */
+
+/** \file buffer_tree.c Buffer tree and buffer pool implementations. */
 #include <regex.h>
 #include <stdbool.h>
 
@@ -776,15 +783,6 @@ size_t btr_get_output_queue_size(struct btr_node *btrn)
        return max_size;
 }
 
-int btr_exec(struct btr_node *btrn, const char *command, char **value_result)
-{
-       if (!btrn)
-               return -ERRNO_TO_PARA_ERROR(EINVAL);
-       if (!btrn->execute)
-               return -ERRNO_TO_PARA_ERROR(ENOTSUP);
-       return btrn->execute(btrn, command, value_result);
-}
-
 /**
  * Execute a inter-node command on a parent node.
  *
@@ -854,7 +852,7 @@ static void merge_input_pool(struct btr_node *btrn, size_t dest_size)
        struct btr_buffer_reference *br, *wbr = NULL;
        int num_refs; /* including wrap buffer */
        char *buf, *buf1 = NULL, *buf2 = NULL;
-       size_t sz, sz1 = 0, sz2 = 0;
+       size_t sz, sz1 = 0, sz2 = 0, wb_consumed = 0;
 
        br = get_first_input_br(btrn);
        if (!br || br_available_bytes(br) >= dest_size)
@@ -871,6 +869,7 @@ static void merge_input_pool(struct btr_node *btrn, size_t dest_size)
                        wbr = br;
                        if (sz >= dest_size)
                                return;
+                       wb_consumed = br->consumed;
                        continue;
                }
                if (!buf1) {
@@ -890,7 +889,7 @@ static void merge_input_pool(struct btr_node *btrn, size_t dest_size)
                assert(buf2 + sz2 == buf);
                sz2 += sz;
 next:
-               if (sz1 + sz2 >= dest_size)
+               if (sz1 + sz2 >= dest_size + wb_consumed)
                        break;
        }
        if (!buf2) /* nothing to do */
@@ -1068,7 +1067,7 @@ struct btr_node *btr_search_node(const char *name, struct btr_node *root)
 }
 
 /** 640K ought to be enough for everybody ;) */
-#define BTRN_MAX_PENDING (640 * 1024)
+#define BTRN_MAX_PENDING (96 * 1024)
 
 /**
  * Return the current state of a buffer tree node.