From patchwork Wed Sep 6 17:42:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Tirta Halim X-Patchwork-Id: 1830499 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=T6eyyWbD; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4RgqX96RLwz1yh1 for ; Thu, 7 Sep 2023 03:45:13 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CB606385841A for ; Wed, 6 Sep 2023 17:45:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CB606385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1694022311; bh=xrJeqDx2qiHMpIc2brpvV5SpgQU2zO0RVqmiupeWawg=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=T6eyyWbDJamhPjTdZ2uLQNEJpm6UiQsZFsh7ohjQpve/G1tFvIFFeyWLUNj7HvYO3 X4fsuv/daE6rE6/Z3mvDK2Akz5zbA0aRNyJXJPz1MruxBMQmAqYWmhQKi/VScHNGbU 0QzRUJ51sahI2t5ybMtJuVmTTr8iLDg8teOq+o4E= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id 1393A3858C78 for ; Wed, 6 Sep 2023 17:44:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1393A3858C78 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1c09673b006so537115ad.1 for ; Wed, 06 Sep 2023 10:44:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1694022293; x=1694627093; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xrJeqDx2qiHMpIc2brpvV5SpgQU2zO0RVqmiupeWawg=; b=FkBgpb62RI91+P12fhb3RlkBIXD4ajAcyy+ui1ibxAIylCgKAzLPMYQwZP04ql1DKc SvSijqSyhmMROlWVTIiRMHhlRWYVzOIb3vLq4DPfDXn9KG2jyZQJXZeHnCvIwEsvZE0t BZ25qGPT0/AVpOX3LabbO/KwCiN2MJ/UQsfeZZyXOMicFHsSi4EIPMlqImIKMNlzcba4 vwIaxMFjLYE422DUfBuSqw0x3AMRRNKB4val3KKsKpfxvckGO/BhSrH8guRPZ6m/OMt3 lNuRFPzS6J/W0HsLPc5iJVJR3llltaVMHGANvnMKVvD/IcD75GkoTf+0vX8GMC7JLPjo yAnA== X-Gm-Message-State: AOJu0YyOJOSAni7nlKDqGnaK/DMrRzZ7BryX7IwULljqQGm1J2zGhAsh DxYqIapiUPu6TPyKyBmD9tnxlDhzHG8lxQ== X-Google-Smtp-Source: AGHT+IFvGqAmOkDnAjq5r1Ol4L2DnH41c89/HnZKPLmUE4aMTlnV/CVBVh0mywkOmfBuBRbpAugf3A== X-Received: by 2002:a17:902:f54d:b0:1c0:953d:58 with SMTP id h13-20020a170902f54d00b001c0953d0058mr18535439plf.0.1694022292727; Wed, 06 Sep 2023 10:44:52 -0700 (PDT) Received: from localhost.localdomain ([2001:448a:20a0:780b:2351:822a:d07f:6855]) by smtp.gmail.com with ESMTPSA id h11-20020a170902f7cb00b001ab2b4105ddsm11365937plw.60.2023.09.06.10.44.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Sep 2023 10:44:51 -0700 (PDT) To: libc-alpha@sourceware.org Cc: James Tirta Halim Subject: [PATCH] strcasestr: check if ne[0] is in hs with strchr or strpbrk as does strstr Date: Thu, 7 Sep 2023 00:42:30 +0700 Message-ID: <20230906174230.306332-1-tirtajames45@gmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: James Tirta Halim via Libc-alpha From: James Tirta Halim Reply-To: James Tirta Halim Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" --- string/strcasestr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/string/strcasestr.c b/string/strcasestr.c index 2f6b4f8641..295cbf364d 100644 --- a/string/strcasestr.c +++ b/string/strcasestr.c @@ -67,6 +67,14 @@ STRCASESTR (const char *haystack, const char *needle) /* Handle empty NEEDLE special case. */ if (needle[0] == '\0') return (char *) haystack; + if (isalpha(*needle)) { + const char a[] = { tolower(*needle), toupper(*needle), '\0'}; + haystack = strpbrk(haystack, a); + } else { + haystack = strchr(haystack, *needle); + } + if (haystack == NULL || needle[1] == '\0') + return (char *)haystack; /* Ensure HAYSTACK length is at least as long as NEEDLE length. Since a match may occur early on in a huge HAYSTACK, use strnlen