From patchwork Fri Apr 15 12:36:36 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 11753 Received: (qmail 10727 invoked by alias); 15 Apr 2016 12:36:54 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 10710 invoked by uid 89); 15 Apr 2016 12:36:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00, SPF_PASS autolearn=ham version=3.3.2 spammy=sc, Hx-languages-length:1690 X-HELO: eu-smtp-delivery-143.mimecast.com From: Wilco Dijkstra To: 'GNU C Library' CC: nd Subject: Re: [PATCH] Use strlen when searching for a nul char Date: Fri, 15 Apr 2016 12:36:36 +0000 Message-ID: References: In-Reply-To: x-ms-office365-filtering-correlation-id: 72ea898b-d7d8-4570-e7b4-08d3652a958c x-microsoft-exchange-diagnostics: 1; AM3PR08MB0088; 5:bM/uhQicldJ0X2Ldk+xQcDi3KDO/OCo16cr6PHkFX4C9CXLmGLvacAIqRDhlq5M6dGI9DOqGYYQRr6CejbTPowx4fBWs+O4j8JVAFfvb07RsFpfyBE5gy5WFqkwezApRrq/UvMgr2t62d+N4WJceGw==; 24:dzXiKgQ/nGjCrNVbr8pJGgYVI6jhKRHcUF6qk/jFFneD6zl1uKnhvlxPJkVU+Mj2R6AVUd6o89C4kY+yOcF0h4klyzGbjUqllNO1De+ibEY=; 20:NmqUaZiAYsxNJV5DWPnucJo+ntSnZC/NS89j1N18toO3LkoUCcsLvaSMXaS7wEgg49fVHvc/G0i0wEafsyfbc8TTMacocgNgmhcJx0JadE/qzXxi2v4ckTcfL2gq0T2z1JdTHXqIQuEawHlBRzV+hM0iGNDXvFua1GITiCJQWSg= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM3PR08MB0088; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(9101521026)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026); SRVR:AM3PR08MB0088; BCL:0; PCL:0; RULEID:; SRVR:AM3PR08MB0088; x-forefront-prvs: 0913EA1D60 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(377424004)(575784001)(86362001)(2900100001)(189998001)(2950100001)(110136002)(81166005)(92566002)(5008740100001)(5003600100002)(5002640100001)(450100001)(5004730100002)(106116001)(50986999)(76176999)(54356999)(87936001)(33656002)(11100500001)(74316001)(66066001)(3846002)(1096002)(2906002)(6116002)(19580395003)(1220700001)(9686002)(102836003)(76576001)(586003)(4326007)(3900700001)(3280700002)(19580405001)(5250100002)(3660700001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR08MB0088; H:AM3PR08MB0088.eurprd08.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2016 12:36:36.0036 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR08MB0088 X-MC-Unique: BifByM59Qxi8de8o3r3eRQ-1 ping diff --git a/string/bits/string2.h b/string/bits/string2.h index bebd158c5ff0f7bd7d9e4a4c3e120cd45b6e2143..f34fedb170352eaca0ed784ca6e76d7bbbfaefc2 100644 --- a/string/bits/string2.h +++ b/string/bits/string2.h @@ -62,14 +62,15 @@ #endif -#ifndef _HAVE_STRING_ARCH_strchr +#ifndef _HAVE_STRING_ARCH_rawmemchr extern void *__rawmemchr (const void *__s, int __c); -# if __GNUC_PREREQ (3, 2) -# define strchr(s, c) \ - (__extension__ (__builtin_constant_p (c) && !__builtin_constant_p (s) \ - && (c) == '\0' \ - ? (char *) __rawmemchr (s, c) \ - : __builtin_strchr (s, c))) +# define __rawmemchr(s, c) \ + (__extension__ ({ char *__s = (char *)(s); \ + __builtin_constant_p (c) && (c) == '\0' \ + ? (void *)(__s + strlen (__s)) \ + : __rawmemchr (__s, (c));})) +# ifdef __USE_GNU +# define rawmemchr(s,c) __rawmemchr ((s), (c)) # endif #endif