about summary refs log tree commit diff
path: root/misc/tsearch.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-04-07 20:25:36 +0000
committerUlrich Drepper <drepper@redhat.com>2006-04-07 20:25:36 +0000
commitcec4091671724d867d1bc80c37be9f50f572c8f7 (patch)
treebf605e22619cbbb365d4db0077084670fe9090ad /misc/tsearch.c
parent2035d91c389888fcf359698fecc20c05f7b583dd (diff)
downloadglibc-cec4091671724d867d1bc80c37be9f50f572c8f7.tar.gz
glibc-cec4091671724d867d1bc80c37be9f50f572c8f7.tar.xz
glibc-cec4091671724d867d1bc80c37be9f50f572c8f7.zip
* sysdeps/posix/tempname.c (__gen_tempname): Change attempts_min
	into a macro.  Use preprocessor to decide how to initialize
	attempts [Coverity CID 67].

	* io/fts.c (fts_build): Comment out dead code [Coverity CID 68].

	* sunrpc/rpc_parse.c (def_union): Comment out dead code
	[Coverity CID 70].

	* locale/programs/linereader.c (lr_token): Remove duplicate
	handling of EOF [Coverity CID 71].

	* locale/programs/ld-numeric.c (numeric_read) [case tok_grouping]:
	We bail out early if ignore_content is set, so there is no need to
	check it later again [Coverity CID 72].

	* inet/inet6_option.c (inet6_option_find): Check *tptrp for NULL,
	not tptrp [Coverity CID 73].

	* inet/inet6_option.c (inet6_option_next): Check *tptrp for NULL,
	not tptrp [Coverity CID 74].

	* misc/tsearch.c (__tsearch): Don't rotate tree if memory
	allocation failed [Coverity CID 78].
Diffstat (limited to 'misc/tsearch.c')
-rw-r--r--misc/tsearch.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/misc/tsearch.c b/misc/tsearch.c
index 7c3a0aaa78..5ba244b015 100644
--- a/misc/tsearch.c
+++ b/misc/tsearch.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 2000, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>, 1997.
 
@@ -285,11 +285,12 @@ __tsearch (const void *key, void **vrootp, __compar_fn_t compar)
       q->key = key;			/* initialize new node */
       q->red = 1;
       q->left = q->right = NULL;
+
+      if (nextp != rootp)
+	/* There may be two red edges in a row now, which we must avoid by
+	   rotating the tree.  */
+	maybe_split_for_insert (nextp, rootp, parentp, r, p_r, 1);
     }
-  if (nextp != rootp)
-    /* There may be two red edges in a row now, which we must avoid by
-       rotating the tree.  */
-    maybe_split_for_insert (nextp, rootp, parentp, r, p_r, 1);
 
   return q;
 }