[grass] 05/09: Drop svn-r69952-dglib-update-to-libavl-2.0.3.patch, included upstream.
Bas Couwenberg
sebastic at debian.org
Wed Dec 28 18:40:58 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository grass.
commit 0baaae4d5059da41178b25c8c4cffa7392517c6c
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Wed Dec 28 18:16:21 2016 +0100
Drop svn-r69952-dglib-update-to-libavl-2.0.3.patch, included upstream.
---
debian/changelog | 1 +
debian/patches/series | 1 -
.../svn-r69952-dglib-update-to-libavl-2.0.3.patch | 772 ---------------------
3 files changed, 1 insertion(+), 773 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 7d16704..3e272d3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ grass (7.2.0-1) UNRELEASED; urgency=medium
* New upstream release.
* Make grass-core depend on grass-doc, g.extension requires some of its files.
(LP: #1646812)
+ * Drop svn-r69952-dglib-update-to-libavl-2.0.3.patch, included upstream.
-- Bas Couwenberg <sebastic at debian.org> Wed, 28 Dec 2016 18:14:57 +0100
diff --git a/debian/patches/series b/debian/patches/series
index bfd8128..e8223ff 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,4 +3,3 @@ instdir
no-fail-html.patch
appstream.patch
jquery.patch
-svn-r69952-dglib-update-to-libavl-2.0.3.patch
diff --git a/debian/patches/svn-r69952-dglib-update-to-libavl-2.0.3.patch b/debian/patches/svn-r69952-dglib-update-to-libavl-2.0.3.patch
deleted file mode 100644
index dae2392..0000000
--- a/debian/patches/svn-r69952-dglib-update-to-libavl-2.0.3.patch
+++ /dev/null
@@ -1,772 +0,0 @@
-Description: dglib: update to libavl-2.0.3 (backport from trunk r69935)
-Author: Markus Metz
-Origin: https://trac.osgeo.org/grass/changeset/69952
-Bug: https://trac.osgeo.org/grass/ticket/3213
-Bug-Debian: https://bugs.debian.org/845429
-
---- a/lib/vector/dglib/avl.c
-+++ b/lib/vector/dglib/avl.c
-@@ -1,25 +1,28 @@
--/* Produced by texiweb from libavl.w on 2002/02/09 at 01:45. */
-+/* Produced by texiweb from libavl.w. */
-
- /* libavl - library for manipulation of binary trees.
-- Copyright (C) 1998-2002 Free Software Foundation, Inc.
-+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Free Software
-+ Foundation, Inc.
-
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful, but
-- WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- See the GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
--
-- The author may be contacted at <blp at gnu.org> on the Internet, or
-- as Ben Pfaff, 12167 Airport Rd, DeWitt MI 48820, USA through more
-- mundane means.
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 3 of the License, or (at your option) any later version.
-+
-+ This library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with this library; if not, write to the Free Software
-+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+ 02110-1301 USA.
-+ */
-+
-+/* Nov 2016, Markus Metz
-+ * from libavl-2.0.3
-+ * added safety checks and speed optimizations
- */
-
- #include <assert.h>
-@@ -63,15 +66,15 @@ void *avl_find(const struct avl_table *t
- const struct avl_node *p;
-
- assert(tree != NULL && item != NULL);
-- for (p = tree->avl_root; p != NULL;) {
-+
-+ p = tree->avl_root;
-+ while (p != NULL) {
- int cmp = tree->avl_compare(item, p->avl_data, tree->avl_param);
-
-- if (cmp < 0)
-- p = p->avl_link[0];
-- else if (cmp > 0)
-- p = p->avl_link[1];
-- else /* |cmp == 0| */
-+ if (cmp == 0)
- return p->avl_data;
-+
-+ p = p->avl_link[cmp > 0];
- }
-
- return NULL;
-@@ -97,7 +100,8 @@ void **avl_probe(struct avl_table *tree,
- z = (struct avl_node *)&tree->avl_root;
- y = tree->avl_root;
- dir = 0;
-- for (q = z, p = y; p != NULL; q = p, p = p->avl_link[dir]) {
-+ q = z, p = y;
-+ while (p != NULL) {
- int cmp = tree->avl_compare(item, p->avl_data, tree->avl_param);
-
- if (cmp == 0)
-@@ -106,25 +110,33 @@ void **avl_probe(struct avl_table *tree,
- if (p->avl_balance != 0)
- z = q, y = p, k = 0;
- da[k++] = dir = cmp > 0;
-+ q = p, p = p->avl_link[dir];
- }
-
-- n = q->avl_link[dir] =
-- tree->avl_alloc->libavl_malloc(tree->avl_alloc, sizeof *n);
-+ n = tree->avl_alloc->libavl_malloc(tree->avl_alloc, sizeof *n);
- if (n == NULL)
- return NULL;
-
- tree->avl_count++;
-- n->avl_data = item;
-+ tree->avl_generation++;
- n->avl_link[0] = n->avl_link[1] = NULL;
-+ n->avl_data = item;
- n->avl_balance = 0;
-- if (y == NULL)
-+ if (y == NULL) {
-+ tree->avl_root = n;
-+
- return &n->avl_data;
-+ }
-+ q->avl_link[dir] = n;
-
-- for (p = y, k = 0; p != n; p = p->avl_link[da[k]], k++)
-+ p = y, k = 0;
-+ while (p != n) {
- if (da[k] == 0)
- p->avl_balance--;
- else
- p->avl_balance++;
-+ p = p->avl_link[da[k]], k++;
-+ }
-
- if (y->avl_balance == -2) {
- struct avl_node *x = y->avl_link[0];
-@@ -180,7 +192,6 @@ void **avl_probe(struct avl_table *tree,
- return &n->avl_data;
- z->avl_link[y != z->avl_link[0]] = w;
-
-- tree->avl_generation++;
- return &n->avl_data;
- }
-
-@@ -209,6 +220,7 @@ void *avl_replace(struct avl_table *tabl
- void *r = *p;
-
- *p = item;
-+
- return r;
- }
- }
-@@ -223,23 +235,31 @@ void *avl_delete(struct avl_table *tree,
- int k; /* Stack pointer. */
-
- struct avl_node *p; /* Traverses tree to find node to delete. */
-+ int dir; /* Side of |pa[k]| on which |p| is linked. */
- int cmp; /* Result of comparison between |item| and |p|. */
-
- assert(tree != NULL && item != NULL);
-
-- k = 0;
-- p = (struct avl_node *)&tree->avl_root;
-- for (cmp = -1; cmp != 0;
-- cmp = tree->avl_compare(item, p->avl_data, tree->avl_param)) {
-- int dir = cmp > 0;
-+ pa[0] = (struct avl_node *)&tree->avl_root;
-+ da[0] = 0;
-+ k = 1;
-+ p = tree->avl_root;
-+ while (p != NULL) {
-+ cmp = tree->avl_compare(item, p->avl_data, tree->avl_param);
-+
-+ if (cmp == 0)
-+ break;
-+
-+ dir = cmp > 0;
-
- pa[k] = p;
- da[k++] = dir;
-
- p = p->avl_link[dir];
-- if (p == NULL)
-- return NULL;
- }
-+ if (p == NULL)
-+ return NULL;
-+
- item = p->avl_data;
-
- if (p->avl_link[1] == NULL)
-@@ -258,7 +278,7 @@ void *avl_delete(struct avl_table *tree,
- struct avl_node *s;
- int j = k++;
-
-- for (;;) {
-+ while (r != NULL) {
- da[k] = 0;
- pa[k++] = r;
- s = r->avl_link[0];
-@@ -367,6 +387,7 @@ void *avl_delete(struct avl_table *tree,
-
- tree->avl_count--;
- tree->avl_generation++;
-+
- return (void *)item;
- }
-
-@@ -463,31 +484,30 @@ void *avl_t_last(struct avl_traverser *t
- void *avl_t_find(struct avl_traverser *trav, struct avl_table *tree,
- void *item)
- {
-- struct avl_node *p, *q;
-+ struct avl_node *p;
-
- assert(trav != NULL && tree != NULL && item != NULL);
- trav->avl_table = tree;
- trav->avl_height = 0;
- trav->avl_generation = tree->avl_generation;
-- for (p = tree->avl_root; p != NULL; p = q) {
-+ p = tree->avl_root;
-+ while (p != NULL) {
- int cmp = tree->avl_compare(item, p->avl_data, tree->avl_param);
-
-- if (cmp < 0)
-- q = p->avl_link[0];
-- else if (cmp > 0)
-- q = p->avl_link[1];
-- else { /* |cmp == 0| */
--
-+ if (cmp == 0) {
- trav->avl_node = p;
-+
- return p->avl_data;
- }
-
- assert(trav->avl_height < AVL_MAX_HEIGHT);
- trav->avl_stack[trav->avl_height++] = p;
-+ p = p->avl_link[cmp > 0];
- }
-
- trav->avl_height = 0;
- trav->avl_node = NULL;
-+
- return NULL;
- }
-
-@@ -512,10 +532,12 @@ void *avl_t_insert(struct avl_traverser
- ((char *)p - offsetof(struct avl_node, avl_data)));
-
- trav->avl_generation = tree->avl_generation - 1;
-+
- return *p;
- }
- else {
- avl_t_init(trav, tree);
-+
- return NULL;
- }
- }
-@@ -644,14 +666,18 @@ void *avl_t_cur(struct avl_traverser *tr
- The new item must not upset the ordering of the tree. */
- void *avl_t_replace(struct avl_traverser *trav, void *new)
- {
-- struct avl_node *old;
-+ void *old;
-
- assert(trav != NULL && trav->avl_node != NULL && new != NULL);
- old = trav->avl_node->avl_data;
- trav->avl_node->avl_data = new;
-+
- return old;
- }
-
-+/* Destroys |new| with |avl_destroy (new, destroy)|,
-+ first setting right links of nodes in |stack| within |new|
-+ to null pointers to avoid touching uninitialized data. */
- static void
- copy_error_recovery(struct avl_node **stack, int height,
- struct avl_table *new, avl_item_func * destroy)
-@@ -688,13 +714,14 @@ struct avl_table *avl_copy(const struct
- allocator != NULL ? allocator : org->avl_alloc);
- if (new == NULL)
- return NULL;
-+
- new->avl_count = org->avl_count;
- if (new->avl_count == 0)
- return new;
-
- x = (const struct avl_node *)&org->avl_root;
- y = (struct avl_node *)&new->avl_root;
-- for (;;) {
-+ while (x != NULL) {
- while (x->avl_link[0] != NULL) {
- assert(height < 2 * (AVL_MAX_HEIGHT + 1));
-
-@@ -754,6 +781,8 @@ struct avl_table *avl_copy(const struct
- x = stack[--height];
- }
- }
-+
-+ return new;
- }
-
- /* Frees storage allocated for |tree|.
-@@ -764,7 +793,8 @@ void avl_destroy(struct avl_table *tree,
-
- assert(tree != NULL);
-
-- for (p = tree->avl_root; p != NULL; p = q)
-+ p = tree->avl_root;
-+ while (p != NULL) {
- if (p->avl_link[0] == NULL) {
- q = p->avl_link[1];
- if (destroy != NULL && p->avl_data != NULL)
-@@ -776,6 +806,8 @@ void avl_destroy(struct avl_table *tree,
- p->avl_link[0] = q->avl_link[1];
- q->avl_link[1] = p;
- }
-+ p = q;
-+ }
-
- tree->avl_alloc->libavl_free(tree->avl_alloc, tree);
- }
-@@ -785,6 +817,7 @@ void avl_destroy(struct avl_table *tree,
- void *avl_malloc(struct libavl_allocator *allocator, size_t size)
- {
- assert(allocator != NULL && size > 0);
-+
- return malloc(size);
- }
-
-@@ -801,6 +834,9 @@ struct libavl_allocator avl_allocator_de
- avl_free
- };
-
-+#undef NDEBUG
-+#include <assert.h>
-+
- /* Asserts that |avl_insert()| succeeds at inserting |item| into |table|. */
- void (avl_assert_insert) (struct avl_table * table, void *item)
- {
-@@ -816,5 +852,6 @@ void *(avl_assert_delete) (struct avl_ta
- void *p = avl_delete(table, item);
-
- assert(p != NULL);
-+
- return p;
- }
---- a/lib/vector/dglib/avl.h
-+++ b/lib/vector/dglib/avl.h
-@@ -1,25 +1,23 @@
--/* Produced by texiweb from libavl.w on 2002/02/09 at 01:45. */
-+/* Produced by texiweb from libavl.w. */
-
- /* libavl - library for manipulation of binary trees.
-- Copyright (C) 1998-2002 Free Software Foundation, Inc.
-+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Free Software
-+ Foundation, Inc.
-
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful, but
-- WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- See the GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
--
-- The author may be contacted at <blp at gnu.org> on the Internet, or
-- as Ben Pfaff, 12167 Airport Rd, DeWitt MI 48820, USA through more
-- mundane means.
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 3 of the License, or (at your option) any later version.
-+
-+ This library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with this library; if not, write to the Free Software
-+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+ 02110-1301 USA.
- */
-
- #ifndef AVL_H
-@@ -48,9 +46,9 @@ extern struct libavl_allocator avl_alloc
- void *avl_malloc(struct libavl_allocator *, size_t);
- void avl_free(struct libavl_allocator *, void *);
-
--/* Maximum AVL height. */
-+/* Maximum AVL tree height. */
- #ifndef AVL_MAX_HEIGHT
--#define AVL_MAX_HEIGHT 32
-+#define AVL_MAX_HEIGHT 92
- #endif
-
- /* Tree data structure. */
---- a/lib/vector/dglib/tavl.c
-+++ b/lib/vector/dglib/tavl.c
-@@ -1,25 +1,28 @@
--/* Produced by texiweb from libavl.w on 2002/02/09 at 01:45. */
-+/* Produced by texiweb from libavl.w. */
-
- /* libavl - library for manipulation of binary trees.
-- Copyright (C) 1998-2002 Free Software Foundation, Inc.
-+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Free Software
-+ Foundation, Inc.
-
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful, but
-- WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- See the GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
--
-- The author may be contacted at <blp at gnu.org> on the Internet, or
-- as Ben Pfaff, 12167 Airport Rd, DeWitt MI 48820, USA through more
-- mundane means.
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 3 of the License, or (at your option) any later version.
-+
-+ This library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with this library; if not, write to the Free Software
-+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+ 02110-1301 USA.
-+ */
-+
-+/* Nov 2016, Markus Metz
-+ * from libavl-2.0.3
-+ * added safety checks and speed optimizations
- */
-
- #include <assert.h>
-@@ -63,10 +66,7 @@ void *tavl_find(const struct tavl_table
- assert(tree != NULL && item != NULL);
-
- p = tree->tavl_root;
-- if (p == NULL)
-- return NULL;
--
-- for (;;) {
-+ while (p != NULL) {
- int cmp, dir;
-
- cmp = tree->tavl_compare(item, p->tavl_data, tree->tavl_param);
-@@ -77,8 +77,10 @@ void *tavl_find(const struct tavl_table
- if (p->tavl_tag[dir] == TAVL_CHILD)
- p = p->tavl_link[dir];
- else
-- return NULL;
-+ p = NULL;
- }
-+
-+ return NULL;
- }
-
- /* Inserts |item| into |tree| and returns a pointer to |item|'s address.
-@@ -100,24 +102,21 @@ void **tavl_probe(struct tavl_table *tre
-
- z = (struct tavl_node *)&tree->tavl_root;
- y = tree->tavl_root;
-- if (y != NULL) {
-- for (q = z, p = y;; q = p, p = p->tavl_link[dir]) {
-- int cmp =
-- tree->tavl_compare(item, p->tavl_data, tree->tavl_param);
-- if (cmp == 0)
-- return &p->tavl_data;
--
-- if (p->tavl_balance != 0)
-- z = q, y = p, k = 0;
-- da[k++] = dir = cmp > 0;
-+ dir = 0;
-+ q = z, p = y;
-+ while (p != NULL) {
-+ int cmp =
-+ tree->tavl_compare(item, p->tavl_data, tree->tavl_param);
-+ if (cmp == 0)
-+ return &p->tavl_data;
-
-- if (p->tavl_tag[dir] == TAVL_THREAD)
-- break;
-- }
-- }
-- else {
-- p = z;
-- dir = 0;
-+ if (p->tavl_balance != 0)
-+ z = q, y = p, k = 0;
-+ da[k++] = dir = cmp > 0;
-+
-+ if (p->tavl_tag[dir] == TAVL_THREAD)
-+ break;
-+ q = p, p = p->tavl_link[dir];
- }
-
- n = tree->tavl_alloc->libavl_malloc(tree->tavl_alloc, sizeof *n);
-@@ -127,23 +126,26 @@ void **tavl_probe(struct tavl_table *tre
- tree->tavl_count++;
- n->tavl_data = item;
- n->tavl_tag[0] = n->tavl_tag[1] = TAVL_THREAD;
-- n->tavl_link[dir] = p->tavl_link[dir];
-- if (tree->tavl_root != NULL) {
-- p->tavl_tag[dir] = TAVL_CHILD;
-- n->tavl_link[!dir] = p;
-- }
-- else
-- n->tavl_link[1] = NULL;
-- p->tavl_link[dir] = n;
- n->tavl_balance = 0;
-- if (tree->tavl_root == n)
-+ if (y == NULL) {
-+ n->tavl_link[0] = n->tavl_link[1] = NULL;
-+ tree->tavl_root = n;
-+
- return &n->tavl_data;
-+ }
-+ n->tavl_link[dir] = p->tavl_link[dir];
-+ n->tavl_link[!dir] = p;
-+ p->tavl_tag[dir] = TAVL_CHILD;
-+ p->tavl_link[dir] = n;
-
-- for (p = y, k = 0; p != n; p = p->tavl_link[da[k]], k++)
-+ p = y, k = 0;
-+ while (p != n) {
- if (da[k] == 0)
- p->tavl_balance--;
- else
- p->tavl_balance++;
-+ p = p->tavl_link[da[k]], k++;
-+ }
-
- if (y->tavl_balance == -2) {
- struct tavl_node *x = y->tavl_link[0];
-@@ -259,6 +261,7 @@ void *tavl_replace(struct tavl_table *ta
- void *r = *p;
-
- *p = item;
-+
- return r;
- }
- }
-@@ -308,19 +311,26 @@ void *tavl_delete(struct tavl_table *tre
-
- assert(tree != NULL && item != NULL);
-
-- if (tree->tavl_root == NULL)
-- return NULL;
-+ q = (struct tavl_node *)&tree->tavl_root;
-+ p = tree->tavl_root;
-+ dir = 0;
-+ while (p != NULL) {
-+ cmp = tree->tavl_compare(item, p->tavl_data, tree->tavl_param);
-+
-+ if (cmp == 0)
-+ break;
-
-- p = (struct tavl_node *)&tree->tavl_root;
-- for (cmp = -1; cmp != 0;
-- cmp = tree->tavl_compare(item, p->tavl_data, tree->tavl_param)) {
- dir = cmp > 0;
-
- q = p;
-- if (p->tavl_tag[dir] == TAVL_THREAD)
-- return NULL;
-- p = p->tavl_link[dir];
-+ if (p->tavl_tag[dir] == TAVL_CHILD)
-+ p = p->tavl_link[dir];
-+ else
-+ p = NULL;
- }
-+ if (p == NULL)
-+ return NULL;
-+
- item = p->tavl_data;
-
- if (p->tavl_tag[1] == TAVL_THREAD) {
-@@ -359,7 +369,7 @@ void *tavl_delete(struct tavl_table *tre
- else {
- struct tavl_node *s;
-
-- for (;;) {
-+ while (r != NULL) {
- s = r->tavl_link[0];
- if (s->tavl_tag[0] == TAVL_THREAD)
- break;
-@@ -527,6 +537,7 @@ void *tavl_delete(struct tavl_table *tre
- }
-
- tree->tavl_count--;
-+
- return (void *)item;
- }
-
-@@ -590,15 +601,13 @@ void *tavl_t_find(struct tavl_traverser
- trav->tavl_node = NULL;
-
- p = tree->tavl_root;
-- if (p == NULL)
-- return NULL;
--
-- for (;;) {
-+ while (p != NULL) {
- int cmp, dir;
-
- cmp = tree->tavl_compare(item, p->tavl_data, tree->tavl_param);
- if (cmp == 0) {
- trav->tavl_node = p;
-+
- return p->tavl_data;
- }
-
-@@ -606,8 +615,12 @@ void *tavl_t_find(struct tavl_traverser
- if (p->tavl_tag[dir] == TAVL_CHILD)
- p = p->tavl_link[dir];
- else
-- return NULL;
-+ p = NULL;
- }
-+
-+ trav->tavl_node = NULL;
-+
-+ return NULL;
- }
-
- /* Attempts to insert |item| into |tree|.
-@@ -634,6 +647,7 @@ void *tavl_t_insert(struct tavl_traverse
- }
- else {
- tavl_t_init(trav, tree);
-+
- return NULL;
- }
- }
-@@ -705,11 +719,12 @@ void *tavl_t_cur(struct tavl_traverser *
- The new item must not upset the ordering of the tree. */
- void *tavl_t_replace(struct tavl_traverser *trav, void *new)
- {
-- struct tavl_node *old;
-+ void *old;
-
- assert(trav != NULL && trav->tavl_node != NULL && new != NULL);
- old = trav->tavl_node->tavl_data;
- trav->tavl_node->tavl_data = new;
-+
- return old;
- }
-
-@@ -748,6 +763,9 @@ copy_node(struct tavl_table *tree,
- return 1;
- }
-
-+/* Destroys |new| with |tavl_destroy (new, destroy)|,
-+ first initializing the right link in |new| that has
-+ not yet been initialized. */
- static void
- copy_error_recovery(struct tavl_node *p,
- struct tavl_table *new, tavl_item_func * destroy)
-@@ -798,7 +816,7 @@ struct tavl_table *tavl_copy(const struc
- rq.tavl_link[0] = NULL;
- rq.tavl_tag[0] = TAVL_THREAD;
-
-- for (;;) {
-+ while (p != NULL) {
- if (p->tavl_tag[0] == TAVL_CHILD) {
- if (!copy_node(new, q, 0, p->tavl_link[0], copy)) {
- copy_error_recovery(rq.tavl_link[0], new, destroy);
-@@ -830,6 +848,8 @@ struct tavl_table *tavl_copy(const struc
- return NULL;
- }
- }
-+
-+ return new;
- }
-
- /* Frees storage allocated for |tree|.
-@@ -840,9 +860,10 @@ void tavl_destroy(struct tavl_table *tre
- struct tavl_node *n; /* Next node. */
-
- p = tree->tavl_root;
-- if (p != NULL)
-+ if (p != NULL) {
- while (p->tavl_tag[0] == TAVL_CHILD)
- p = p->tavl_link[0];
-+ }
-
- while (p != NULL) {
- n = p->tavl_link[1];
-@@ -881,6 +902,9 @@ struct libavl_allocator tavl_allocator_d
- tavl_free
- };
-
-+#undef NDEBUG
-+#include <assert.h>
-+
- /* Asserts that |tavl_insert()| succeeds at inserting |item| into |table|. */
- void (tavl_assert_insert) (struct tavl_table * table, void *item)
- {
-@@ -896,5 +920,6 @@ void *(tavl_assert_delete) (struct tavl_
- void *p = tavl_delete(table, item);
-
- assert(p != NULL);
-+
- return p;
- }
---- a/lib/vector/dglib/tavl.h
-+++ b/lib/vector/dglib/tavl.h
-@@ -1,25 +1,23 @@
--/* Produced by texiweb from libavl.w on 2002/02/09 at 01:45. */
-+/* Produced by texiweb from libavl.w. */
-
- /* libavl - library for manipulation of binary trees.
-- Copyright (C) 1998-2002 Free Software Foundation, Inc.
-+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Free Software
-+ Foundation, Inc.
-
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful, but
-- WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- See the GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
--
-- The author may be contacted at <blp at gnu.org> on the Internet, or
-- as Ben Pfaff, 12167 Airport Rd, DeWitt MI 48820, USA through more
-- mundane means.
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 3 of the License, or (at your option) any later version.
-+
-+ This library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with this library; if not, write to the Free Software
-+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+ 02110-1301 USA.
- */
-
- #ifndef TAVL_H
-@@ -50,7 +48,7 @@ void tavl_free(struct libavl_allocator *
-
- /* Maximum TAVL height. */
- #ifndef TAVL_MAX_HEIGHT
--#define TAVL_MAX_HEIGHT 32
-+#define TAVL_MAX_HEIGHT 92
- #endif
-
- /* Tree data structure. */
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/grass.git
More information about the Pkg-grass-devel
mailing list