From patchwork Fri Jun 3 12:38:09 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 629793 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rLkCv1LMvz9t7r for ; Fri, 3 Jun 2016 22:38:34 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=nnSdGkfI; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:references :in-reply-to:mime-version:content-type :content-transfer-encoding; q=dns; s=default; b=SBISwB5BspobqRzY WOFk+e5UKQrpkNIzwhhdM66ZKhUo03yYGHbEN7sNgwQqAGYj33amVCU9OIpOseqr d3MZQd+MQhCETR1T3xhPKgy8be3vsvD1joERVDVd7AYMUeT5aR04lZDw9BRpjMHv njEXgwe+iP+OwDvjdyDqmxU8knk= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:references :in-reply-to:mime-version:content-type :content-transfer-encoding; s=default; bh=IjOPptC8OUy8hTtKoBPgxN xXIxA=; b=nnSdGkfImVHv9j1V48lRrjwuVo0mQW2SDuhmX1PNu6PEpomy4RMopW TIMlX0qPvxs7X9vWmimZLolHlmjxXF5XlF6s14pCysqLpMWLb5k+N1ulkWDABq3W lqWO0ig0+BJGRMe4D1AJQvtqSvWATnSxo4GQlbKNB3HlZ/H97rLoo= Received: (qmail 124170 invoked by alias); 3 Jun 2016 12:38:28 -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 124158 invoked by uid 89); 3 Jun 2016 12:38:27 -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:1733, bucket X-HELO: eu-smtp-delivery-143.mimecast.com From: Wilco Dijkstra To: Mike Frysinger CC: 'GNU C Library' , nd Subject: Re: [PATCH] Use strlen when searching for a nul char Date: Fri, 3 Jun 2016 12:38:09 +0000 Message-ID: References: <20160419175706.GI5369@vapier.lan> , <20160419222134.GQ5369@vapier.lan>, , In-Reply-To: x-ms-office365-filtering-correlation-id: c06a6f77-1ff6-4e0f-5294-08d38babeb94 x-microsoft-exchange-diagnostics: 1; DB3PR08MB0089; 5:HiaeW+yjpqw2oqjx5FEq/3BPSv+lgtn2rK+i3jT6zfeFJzTlP9XoQ6AdatPr3VSywsLlloY20fD2X4B+ALZNyxeLPGvmz2MpPrDjmVLgy1QMZMAY5YC3WUDktFQhW+SFxN90enRSLzhNeN2DICdgzg==; 24:17H37CcttGuoetF7wXU8f3qaZsXs1nsdMnTiBmK+sonFsZDd/imaN6S3Rm0gQJNB9dgm7vvjLsU6GReIbW/hHi30TP39TYH4BQ+PBJ+dLTs=; 7:7iLV+9KtGorpgzlvnRp+6mDImS3oMCA21gflIiqZlmbfmRRSukdxBKZVFdbToWo5pTZDgeMHmuoWvwM6jD/Y2y9WtLVOzjwzuWepCQEmM6POFe/lcj/UGl8AApjNiCrw42Qt+UJQzDUOvewV643alXI5QiTgF2updzeqqPu4QLlHwpnP0B9yopfTcg0w44LHupxfud7xwy2jij4zlErLcoMJ2jNFcPQUEJrgPwhwe5c=; 20:76gh9kQHvTrC1jwvllYDqPgB+RroHfOThcpYm5AFkK6KoqVtstU0JZpGKX9xNuLslat2aUdejBjqxVRG9YjKfpGJCuUUW2N7XiY2lvzecJ7pbxY20bbAYmYawGDhA1xmr8PoCSLB0HMJX2Dk7p0LjKvLEIIMXf09s1tqxhD76dg= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB3PR08MB0089; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026); SRVR:DB3PR08MB0089; BCL:0; PCL:0; RULEID:; SRVR:DB3PR08MB0089; x-forefront-prvs: 0962D394D2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(24454002)(33656002)(5008740100001)(81166006)(189998001)(3900700001)(3660700001)(586003)(50986999)(54356999)(76176999)(8676002)(102836003)(2900100001)(6116002)(3846002)(2906002)(4326007)(66066001)(3280700002)(106116001)(74316001)(92566002)(93886004)(5003600100002)(5004730100002)(76576001)(11100500001)(86362001)(8936002)(575784001)(87936001)(77096005)(2950100001)(110136002)(9686002)(122556002)(5002640100001)(10400500002)(51383001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR08MB0089; H:DB3PR08MB0089.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: 03 Jun 2016 12:38:09.5844 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB0089 X-MC-Unique: fOEWIB-ATiu8ye2nKNzj9Q-1 ping diff --git a/string/bits/string2.h b/string/bits/string2.h index 80987602f34ded483854bcea86dabd5b81e42a18..62edc93b0f04249a504078caeee8fca192e91df8 100644 --- a/string/bits/string2.h +++ b/string/bits/string2.h @@ -60,13 +60,25 @@ #ifndef _HAVE_STRING_ARCH_strchr extern void *__rawmemchr (const void *__s, int __c); -# define strchr(s, c) \ +# define strchr(s, c) \ (__extension__ (__builtin_constant_p (c) && !__builtin_constant_p (s) \ && (c) == '\0' \ ? (char *) __rawmemchr (s, c) \ : __builtin_strchr (s, c))) #endif +#ifndef _HAVE_STRING_ARCH_rawmemchr +extern void *__rawmemchr (const void *__s, int __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 + /* Copy SRC to DEST, returning pointer to final NUL byte. */ #ifdef __USE_GNU