From a334319f6530564d22e775935d9c91663623a1b4 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 22 Dec 2004 20:10:10 +0000 Subject: (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. --- misc/tsearch.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'misc/tsearch.c') diff --git a/misc/tsearch.c b/misc/tsearch.c index 1e94d64595..7c3a0aaa78 100644 --- a/misc/tsearch.c +++ b/misc/tsearch.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 2000, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Bernd Schmidt , 1997. @@ -285,12 +285,11 @@ __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; } @@ -447,7 +446,7 @@ __tdelete (const void *key, void **vrootp, __compar_fn_t compar) /* Q is R's brother, P is R's parent. The subtree with root R has one black edge less than the subtree with root Q. */ q = p->right; - if (q->red) + if (q != NULL && q->red) { /* If Q is red, we know that P is black. We rotate P left so that Q becomes the top node in the tree, with P below @@ -535,7 +534,7 @@ __tdelete (const void *key, void **vrootp, __compar_fn_t compar) { /* Comments: see above. */ q = p->left; - if (q->red) + if (q != NULL && q->red) { q->red = 0; p->red = 1; -- cgit 1.4.1