From owner-p4-projects@FreeBSD.ORG Fri May 9 11:41:18 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DC7637B404; Fri, 9 May 2003 11:41:18 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B814337B401 for ; Fri, 9 May 2003 11:41:17 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 619DD43F75 for ; Fri, 9 May 2003 11:41:17 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h49IfH0U078793 for ; Fri, 9 May 2003 11:41:17 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h49IfGmb078790 for perforce@freebsd.org; Fri, 9 May 2003 11:41:16 -0700 (PDT) Date: Fri, 9 May 2003 11:41:16 -0700 (PDT) Message-Id: <200305091841.h49IfGmb078790@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 30865 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 May 2003 18:41:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=30865 Change 30865 by peter@peter_daintree on 2003/05/09 11:40:35 bracket the bug workarounds with #ifdef BUG. This seems to be fixed in gcc-3.3, or its related to the ptrdiff_t size bug somehow. Affected files ... .. //depot/projects/hammer/sys/kern/subr_scanf.c#5 edit .. //depot/projects/hammer/sys/net/radix.c#5 edit Differences ... ==== //depot/projects/hammer/sys/kern/subr_scanf.c#5 (text+ko) ==== @@ -498,7 +498,11 @@ } goto match_failure; } +#ifdef BUG + c = ((u_char *)p)[-1]; +#else c = (((u_char *)p) - 1)[0]; +#endif if (c == 'x' || c == 'X') { --p; inp--; ==== //depot/projects/hammer/sys/net/radix.c#5 (text+ko) ==== @@ -451,7 +451,11 @@ /* * Trim trailing zeroes. */ +#ifdef BUG + for (cp = addmask_key + mlen; (cp > addmask_key) && cp[-1] == 0;) +#else for (cp = addmask_key + mlen; (cp > addmask_key) && *(cp - 1) == 0;) +#endif cp--; mlen = cp - addmask_key; if (mlen <= skip) {