From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1921) id 0D7323858C60; Thu, 7 Oct 2021 16:02:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0D7323858C60 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Sebastian Huber To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] sys/tree.h: Simplify loop condition X-Act-Checkin: newlib-cygwin X-Git-Author: Sebastian Huber X-Git-Refname: refs/heads/master X-Git-Oldrev: 6c1f49f83fde855c9fc428c201b3e739ca2d187f X-Git-Newrev: 098cf0f98dbb310c6a7ef94f0bdaf683f276767b Message-Id: <20211007160220.0D7323858C60@sourceware.org> Date: Thu, 7 Oct 2021 16:02:20 +0000 (GMT) X-BeenThere: newlib-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib GIT logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Oct 2021 16:02:20 -0000 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=098cf0f98dbb310c6a7ef94f0bdaf683f276767b commit 098cf0f98dbb310c6a7ef94f0bdaf683f276767b Author: Sebastian Huber Date: Tue Oct 5 15:31:22 2021 +0200 sys/tree.h: Simplify loop condition We have #define RB_ISRED(elm, field) \ ((elm) != NULL && RB_COLOR(elm, field) == RB_RED) So, the RB_ISRED() contains an implicit check for NULL. In RB_GENERATE_REMOVE_COLOR() the "elm" pointer cannot be NULL in the while condition. Use RB_COLOR(elm) == RB_BLACK instead. Diff: --- newlib/libc/include/sys/tree.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/newlib/libc/include/sys/tree.h b/newlib/libc/include/sys/tree.h index 2af77a499..15831c7dd 100644 --- a/newlib/libc/include/sys/tree.h +++ b/newlib/libc/include/sys/tree.h @@ -540,7 +540,7 @@ name##_RB_REMOVE_COLOR(struct name *head, struct type *parent) \ elm = RB_ROOT(head); \ break; \ } \ - } while (!RB_ISRED(elm, field) && parent != NULL); \ + } while (RB_COLOR(elm, field) == RB_BLACK && parent != NULL); \ RB_COLOR(elm, field) = RB_BLACK; \ }