Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp5699888pxb; Mon, 28 Mar 2022 16:24:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy1JHeNhP5uVqq+yt53/WXktpndZJYYytSXsry52dLFksCY3hUSCfw8dRFvuX8u7INX1r+i X-Received: by 2002:a17:902:c951:b0:154:38b8:aa30 with SMTP id i17-20020a170902c95100b0015438b8aa30mr27734357pla.145.1648509846990; Mon, 28 Mar 2022 16:24:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648509846; cv=none; d=google.com; s=arc-20160816; b=fj6brj7Hl6TePkD8EOkaQot+gRNV4JkGxnFKVEuEOwzdLo+/xnT/Ytx2Yi9Bi2pjqF HWHpv3RgO5Pi7dkAdcbyVz2YqUPFBXzCxUoUemlqlkWA4NHgSDI06cZti2xHYLI7ChJ3 6bAP1kRZ5QnocDJGj2ESfU5TL3VbijrEsGrqOot9/5RvHYjs0QtRB9dOL4OnpBjU649w b7ibRJyW3uOlj09ZPtFJIupHGrHN5ZGirPXs7cAjeljTok7J5wZ2wOX0VIoTNzLKd/I2 dF3fSSHOqEMIRnznKRphQ4khvhrQqGiqbn3FHBsN4P+7oks0RYqdJpWoqWvPXeEnCe/K IKQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vSGMUwSwwoLLYmM3DxccJfgGzUMvXUzZDLyfSZkPBWw=; b=QPXoXDBsAlBBBKagroS8uCW84mfEhXkdyTTNI0b9VExO2eZ+F5debMe7OXWHZtuxXI D8b+mrabCdS62wxY5E3OUtu5rrVygmeddYBwdxXCTPExbsVXjOptncbgAQL1h/Hhl8/H kqfdTvY4dCdBCq9fKxfSdZZAZb92Y9no5jlgWxyfCJclDhi9BPxFLKLqH2s7lWZzNZkZ RtF2ZAV9CF+hIPkFqTbEwLy5ggFzV0lkgDhp1G2h76+/PH4NiCDsodiL4jDaSDx4Zq3K GGjsYCCyJyfwbHd0z8dKFFuEWRczmCy26KRpgj0PGQ/H3jMkemI+Dkkl009kbZ+zdixD +DnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@rasmusvillemoes.dk header.s=google header.b=hk+wcIWx; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id e6-20020a63d946000000b003816043eef8si14420787pgj.237.2022.03.28.16.24.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Mar 2022 16:24:06 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@rasmusvillemoes.dk header.s=google header.b=hk+wcIWx; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D4E5178917; Mon, 28 Mar 2022 15:41:51 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230042AbiC1WnV (ORCPT + 99 others); Mon, 28 Mar 2022 18:43:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44396 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230036AbiC1WnK (ORCPT ); Mon, 28 Mar 2022 18:43:10 -0400 Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 233AA4CD49 for ; Mon, 28 Mar 2022 15:41:28 -0700 (PDT) Received: by mail-ej1-x636.google.com with SMTP id bq8so17616576ejb.10 for ; Mon, 28 Mar 2022 15:41:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rasmusvillemoes.dk; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vSGMUwSwwoLLYmM3DxccJfgGzUMvXUzZDLyfSZkPBWw=; b=hk+wcIWxCLf4sNqsonO3Oh6An8qK1acIBJsIO+BUdTMRg1qwh8Z+EKm6L6lr+xvb7N pyez1YPbgsOCtJsl0mRmxohYAuApCOdJnaGazAqcl/Ibsh9N1G4Gr++le9paiJLXrA/h w4lKCrHz3vW26Yd3ywx7s7bOTRI376tXhj0oo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vSGMUwSwwoLLYmM3DxccJfgGzUMvXUzZDLyfSZkPBWw=; b=urzO2qaNJEMgSDi7psfnf7ZEvIQV+YtMVQrkv5kb+Oqkn6LeTRXRcTJHo9XUdULGbv f9QKEv15aNO+hVjZFVbExYzd0dfzpQTCbMRY8t9f8kpr/+A2H/cOpqY0rjIdslOfG8BY 2cvFP+/AYGf4QaP3wgMZs6iopTz5tlInIF5mI95wGyHmru4Qryely4RjFjoBkbnvjmJf 6xoESUyXEfAiITEbZhnC8RXik0TpqWkjKeMsM0uNp8MVWFaA21es8WoRZu3AKl1cDsNC Xg638l5LOBOBy+tY+7lJPcXNFStYC2FLo3M0pQe2R3aLnXE8A6w2fqO4KZqMlCMbURBy tMyA== X-Gm-Message-State: AOAM532WYviHvNAcYLinhcKdbiP1+KRFgM+pXzg5VnFiT9JHk4taltr9 Q+o9y5PZk/q1F7SPuB6WOcOVRA== X-Received: by 2002:a17:906:2bd7:b0:6ce:698b:7531 with SMTP id n23-20020a1709062bd700b006ce698b7531mr29710061ejg.146.1648507286741; Mon, 28 Mar 2022 15:41:26 -0700 (PDT) Received: from localhost.localdomain ([80.208.64.233]) by smtp.gmail.com with ESMTPSA id m3-20020a17090679c300b006cf9ce53354sm6392714ejo.190.2022.03.28.15.41.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Mar 2022 15:41:26 -0700 (PDT) From: Rasmus Villemoes To: Andrew Morton , Andy Shevchenko Cc: Rasmus Villemoes , linux-kernel@vger.kernel.org Subject: [PATCH 2/2] lib/string.c: simplify str[c]spn Date: Tue, 29 Mar 2022 00:41:19 +0200 Message-Id: <20220328224119.3003834-2-linux@rasmusvillemoes.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220328224119.3003834-1-linux@rasmusvillemoes.dk> References: <20220328224119.3003834-1-linux@rasmusvillemoes.dk> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use strchr(), which makes them a lot shorter, and more obviously symmetric in their treatment of accept/reject. It also saves a little bit of .text; bloat-o-meter for an arm build says Function old new delta strcspn 92 76 -16 strspn 108 76 -32 While here, also remove a stray empty line before EXPORT_SYMBOL(). Signed-off-by: Rasmus Villemoes --- lib/string.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/lib/string.c b/lib/string.c index 485777c9da83..6f334420f687 100644 --- a/lib/string.c +++ b/lib/string.c @@ -517,21 +517,13 @@ EXPORT_SYMBOL(strnlen); size_t strspn(const char *s, const char *accept) { const char *p; - const char *a; - size_t count = 0; for (p = s; *p != '\0'; ++p) { - for (a = accept; *a != '\0'; ++a) { - if (*p == *a) - break; - } - if (*a == '\0') - return count; - ++count; + if (!strchr(accept, *p)) + break; } - return count; + return p - s; } - EXPORT_SYMBOL(strspn); #endif @@ -544,17 +536,12 @@ EXPORT_SYMBOL(strspn); size_t strcspn(const char *s, const char *reject) { const char *p; - const char *r; - size_t count = 0; for (p = s; *p != '\0'; ++p) { - for (r = reject; *r != '\0'; ++r) { - if (*p == *r) - return count; - } - ++count; + if (strchr(reject, *p)) + break; } - return count; + return p - s; } EXPORT_SYMBOL(strcspn); #endif -- 2.31.1