From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sgoci-sdnproxy-4.icoremail.net (sgoci-sdnproxy-4.icoremail.net [129.150.39.64]) by sourceware.org (Postfix) with ESMTP id AF6383858C5E for ; Fri, 22 Dec 2023 07:53:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AF6383858C5E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=eswincomputing.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=eswincomputing.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org AF6383858C5E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=129.150.39.64 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703231632; cv=none; b=WFIVEhX93nprp2/f9aKllkVmVHmHF04ijqH0ztFyTrYd0Mle10E+nJBFGPL0BdAuX0VgHUfVqoQqbn0/iYi2gmHhj7nQj37MSKvLoyoU6A/29rYERpjkFu+IDRwj+vqVuQwkNtULVx8xofkg+0gQfXFeSHpBNt4DMlxSFCq6d4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703231632; c=relaxed/simple; bh=Amsss5ewITGpuOgQnPRaWlgM8r9H5AXZv+OxhmTKqMc=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=CbP+vaWKDBngUmeLUrHVZINc1LeG83S2LcjqPHAdNo9B13nC3ttCAig8Dgwnibmxr0AHgCFwbNnaf5hSqLMSxGYiI+Y8dToLxn0TbYm7ey0j61IWau3PCPVaD4YB02JWBNn6YBVVSABOFFeaTRZSaXjDntjy1/2XDsOE0qKJw1c= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from E0002168DT (unknown [123.157.250.130]) by app2 (Coremail) with SMTP id TQJkCgBn9tQoQIVly7ECAA--.3078S2; Fri, 22 Dec 2023 15:52:08 +0800 (CST) Date: Fri, 22 Dec 2023 15:53:38 +0800 From: "Xiao Zeng" To: newlib Cc: Brian.Inglis , jjohnstn , stefan.tauner Subject: [PATCH] newlib: libc: Improved the readability of strcspn with minor optimization X-Priority: 3 X-GUID: 9D9D13CF-D986-426A-9AD0-3B63779D9F1C X-Has-Attach: no X-Mailer: Foxmail 7.2.15.80[cn] Mime-Version: 1.0 Message-ID: <202312221553386148328@eswincomputing.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-CM-TRANSID:TQJkCgBn9tQoQIVly7ECAA--.3078S2 X-Coremail-Antispam: 1UD129KBjvJXoWxuw1DCryDAr48uw4UZw48tFb_yoW7Ary3pF s7Ka45GFZ5urZ5KFnrJF17XFyft3yrKa1DGr1vqFyUX3y5tr90qF1Igrna93WkurWfJr42 qay0vry7uFy3ZrJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUQmb7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwV C2z280aVCY1x0267AKxVW0oVCq3wAa7VCE64xvF2IEb7IF0Fy264xvF2IEb7IF0Fy264kE 64k0F2IE7I0Y6sxI4wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4 xG6I80ewAv7VC0I7IYx2IY67AKxVWUAVWUtwAv7VCY1x0262k0Y48FwI0_Jr0_Gr1lYx0E x4A2jsIE14v26r4UJVWxJr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4 xvF2IEb7IF0Fy264kE64k0F24lc2xSY4AK67AK6r4xMxAIw28IcxkI7VAKI48JMxC20s02 6xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_Jr I_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v2 6r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xvaj4 0_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8 Jr1l6VACY4xI67k04243AbIYCTnIWIevJa73UjIFyTuYvjxUDeTYUUUUU X-CM-SenderInfo: p2hqw5xldrqvxvzl0uprps33xlqjhudrp/ X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: T24gMjAyMy0xMi0xOSAyMToyNCwgSmVmZiBKb2huc3RvbiB3cm90ZToKPsKgPiBQYXRjaCBtZXJn ZWQgdG8gbWFzdGVyLgo+wqA+IE9uIFNhdCwgRGVjIDE2LCAyMDIzIGF0IDQ6MzHigK9BTSBYaWFv IFplbmcgd3JvdGU6Cj7CoD4gwqAgwqAgMjAyMy0xMi0xNSAxODoyOCDCoFRvcmJqb3JuIFNWRU5T U09OIHdyb3RlOgo+wqA+PiBPbiAyMDIzLTEyLTE1IDA5OjMxLCBYaWFvIFplbmcgd3JvdGU6Cj7C oD4+PiBTaWduZWQtb2ZmLWJ5OiBYaWFvIFplbmcgPHplbmd4aWFvQGVzd2luY29tcHV0aW5nLmNv bQo+wqA+IMKgIMKgIDxtYWlsdG86emVuZ3hpYW9AZXN3aW5jb21wdXRpbmcuY29tPj4KPsKgPj4+ IC0tLQo+wqA+Pj4gbmV3bGliL2xpYmMvc3RyaW5nL3N0cmNzcG4uYyB8IDYgKystLS0tCj7CoD4+ PiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+wqA+Pj4K PsKgPj4+IGRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdHJpbmcvc3RyY3Nwbi5jIGIvbmV3bGli L2xpYmMvc3RyaW5nL3N0cmNzcG4uYwo+wqA+Pj4gaW5kZXggYWJhYTkzYWQ2Li44YWMwYmYxMGMg MTAwNjQ0Cj7CoD4+PiAtLS0gYS9uZXdsaWIvbGliYy9zdHJpbmcvc3RyY3Nwbi5jCj7CoD4+PiAr KysgYi9uZXdsaWIvbGliYy9zdHJpbmcvc3RyY3Nwbi5jCj7CoD4+PiBAQCAtMzcsMTIgKzM3LDEw IEBAIHN0cmNzcG4gKGNvbnN0IGNoYXIgKnMxLAo+wqA+IMKgIMKgIMKgPj4gwqAgwqAgwqAgwqAg Zm9yIChjID0gczI7ICpjOyBjKyspCj7CoD4gwqAgwqAgwqA+PiDCoCB7Cj7CoD4gwqAgwqAgwqA+ PiDCoCDCoCBpZiAoKnMxID09ICpjKQo+wqA+IMKgIMKgIMKgPj4gLSDCoCDCoCDCoCDCoGJyZWFr Owo+wqA+IMKgIMKgIMKgPj4gKyDCoCDCoCDCoCDCoGdvdG8gZW5kOwo+wqA+IMKgIMKgIMKgPj4g wqAgfQo+wqA+IMKgIMKgIMKgPj4gLSDCoCDCoCDCoGlmICgqYykKPsKgPiDCoCDCoCDCoD4+IC0g wqAgwqBicmVhazsKPsKgPiDCoCDCoCDCoD4+IMKgIMKgIMKgIMKgIHMxKys7Cj7CoD4gwqAgwqAg wqA+PiDCoCDCoCDCoCB9Cj7CoD4gwqAgwqAgwqA+PiAtCj7CoD4gwqAgwqAgwqA+PiArZW5kOgo+ wqA+IMKgIMKgIMKgPj4gwqAgwqAgcmV0dXJuIHMxIC0gczsKPsKgPiDCoCDCoCDCoD4+IMKgIH0K Cj7CoD4+IEp1c3QgbG9va2luZyBhdCB0aGlzIHNtYWxsIHNuaXBwZXQgb2YgY29kZSwgSSB3b3Vs ZCBzYXkgdGhhdCB0aGUgcHJldmlvdXMKPsKgPj4gY29kZSBhbmQgeW91ciBzdWdnZXN0aW9uIHdv bid0IGRvIHRoZSBzYW1lIHRoaW5nLgo+wqA+PsKgCj7CoD4+IERvIHlvdSBoYXZlIHVuaXQgdGVz dHMgdGhhdCBjb25maXJtIHRoYXQgdGhlIGJlaGF2aW9yIGlzIGlkZW50aWNhbCB3aXRoIHRoZQo+ wqA+PiBjdXJyZW50IGltcGxlbWVudGF0aW9uIGFuZCB5b3VyIHN1Z2dlc3RlZCBjaGFuZ2U/Cj7C oD4+wqAKPsKgPj4gV2hlbiBJIHJ1biB5b3VyIHN1Z2dlc3Rpb24sIEkgZ2V0IHJldHVybiB2YWx1 ZSAwLCBidXQgd2l0aCB0aGUgY3VycmVudMKgCj7CoD4+IGltcGxlbWVudGF0aW9uIGl0J3MgMyBm b3IgdGhpcyBjYWxsOiBzdHJzcG4oIjEyOXRoIiwgIjEyMzQ1Njc4OTAiKS4KCj7CoD4gQWZ0ZXIg YXBwbHlpbmcgdGhpcyBwYXRjaCwgcHJvdmlkZSBhIGNvbXBhcmlzb24gb2YgYXNzZW1ibHkgY29k ZSB1bmRlciB0aGUKPsKgPiByaXNjLXYgYXJjaGl0ZWN0dXJlLCB3aXRoIGRlZmF1bHQgY29tcGls YXRpb24gcGFyYW1ldGVycyB1c2VkIGluIGJvdGggb2YKPsKgPiB0aGVtOgo+wqBUaGVzZSAibWlj cm8tb3B0aW1pemF0aW9ucyIgaW1wcm92ZSBjb2RlIGdlbmVyYXRpb24gYnkgYSBmZXcgaW5zdHJ1 Y3Rpb25zIG9uIGHCoAo+wqBzaW5nbGUgKFJJU0MtVikgdGFyZ2V0IGF0IGEgc2luZ2xlIG9wdGlt aXphdGlvbiBsZXZlbCBvZiBhIHNpbmdsZSBjb21waWxlciBhbmTCoAo+wqB2ZXJzaW9uLCBidXQg d2hhdCBpcyB0aGUgY29zdCBpbiBleGVjdXRpb24gdGltZSBhbmQgdGhlIGNhY2hlIGltb2FjdD8K SSdtIHZlcnkgc29ycnksIEkndmUgYmVlbiBidXN5IHdpdGggb3RoZXIgdGhpbmdzIGxhdGVseSBh bmQgaGF2ZW4ndCByZXBsaWVkIHRvIHlvdXIgZW1haWwuClBsZWFzZSBiZWxpZXZlIHRoYXQgeW91 ciBmZWVkYmFjayBoYXMgYmVlbiB2ZXJ5IGhlbHBmdWwgdG8gbWUuCgpZZXMsIHlvdSBwcm92aWRl ZCBhIHBlcnNwZWN0aXZlIG9uIGNvZGUgb3B0aW1pemF0aW9uLgoKPsKgVXNpbmcgZ290b3MgdGhy b3cgYXdheSBwb3RlbnRpYWwgb3B0aW1pemF0aW9ucyBpbiBtb2Rlcm4gY29tcGlsZXJzLCB3aGVy ZcKgCj7CoGdvdG8tbGVzcyBjb2RlIG1heSBoYXZlIGNvbnRyb2wgYW5kL29yIGRhdGEgZmxvdyBv cHRpbWl6ZWQsIHdpdGggYnJhbmNoZXPCoAo+wqBhbHRlcmVkIG9yIGVsaW1pbmF0ZWQsIGRlcGVu ZGluZyBvbiB0YXJnZXQgaW5zdHJ1Y3Rpb24gc2V0cyBhbmQgY29tcGlsZXLCoAo+wqBzdXBwb3J0 ZWQgb3B0aW1pemF0aW9ucyBzZWxlY3RlZCBhbmQgaW1wbGVtZW50ZWQuCgo+wqBGb3IgZXhhbXBs ZSwgaW4gdGhlc2Ugc21hbGwgZnVuY3Rpb25zIHdpdGggZmV3IGJyYW5jaGVzLCBjb25kaXRpb25h bCBleGVjdXRpb27CoAo+wqBpbnN0cnVjdGlvbnMgY291bGQgYmUgZ2VuZXJhdGVkLCBlbGltaW5h dGluZyBicmFuY2hlcywgY2FjaGUsIGFuZCBsb29rYXNpZGXCoAo+wqBidWZmZXIgaW1wYWN0cywg cG9zc2libHkgYWxsb3dpbmcgaW5saW5pbmcuCgo+wqBXaG8ga25vd3Mgd2hhdCBpbXBhY3RzIHRo aXMgaGFzIG9uIGFsbCBvZiB0aGUgb3RoZXIgdGFyZ2V0cywgY29tcGlsZXJzLMKgCj7CoHZlcnNp b25zLCBhbmQgb3B0aW1pemF0aW9uIGxldmVscz8KCj7CoFNob3VsZCB3ZSBldmVuIGNvbnNpZGVy IG1ha2luZyB0aGVzZSBraW5kcyBvZiBub24tYnVnLWZpeCBtaW5vciBjaGFuZ2VzIHRvwqAKPsKg bm9uLXRhcmdldCBzcGVjaWZpYyBzb3VyY2VzLCB1bmxlc3MgdGhlcmUgYXJlIGFsZ29yaXRobSBj aGFuZ2VzIHdpdGjCoAo+wqBkZW1vbnN0cmF0ZWQgYmVuZWZpdHMgYWNyb3NzIG11bHRpcGxlIHRh cmdldHMsIGNvbXBpbGVycywgdmVyc2lvbnMsIGFuZMKgCj7CoG9wdGltaXphdGlvbiBsZXZlbHM/ Cgo+wqAtLcKgCj7CoFRha2UgY2FyZS4gVGhhbmtzLCBCcmlhbiBJbmdsaXMgwqAgwqAgwqAgwqAg wqAgwqAgwqBDYWxnYXJ5LCBBbGJlcnRhLCBDYW5hZGEKCj7CoExhIHBlcmZlY3Rpb24gZXN0IGF0 dGVpbnRlIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIFBlcmZlY3Rpb24gaXMgYWNoaWV2ZWQK PsKgbm9uIHBhcyBsb3JzcXUnaWwgbid5IGEgcGx1cyByaWVuIMOgIGFqb3V0ZXIgwqBub3Qgd2hl biB0aGVyZSBpcyBubyBtb3JlIHRvIGFkZAo+wqBtYWlzIGxvcnNxdSdpbCBuJ3kgYSBwbHVzIHJp ZW4gw6AgcmV0aXJlciDCoCDCoCBidXQgd2hlbiB0aGVyZSBpcyBubyBtb3JlIHRvIGN1dAo+wqDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoC0tIEFudG9p bmUgZGUgU2FpbnQtRXh1cMOpcnkKSSBuZWVkIHRvIGNsYXJpZnkgbXkgbW90aXZhdGlvbiBmb3Ig bW9kaWZ5aW5nIHRoaXMgY29kZToKV2hlbiBJIGZpcnN0IHNhdyB0aGlzIGNvZGUsIHRoZSByZWR1 bmRhbmN5IGNoZWNrIGNvbmZ1c2VkIG1lLiBBZnRlciB0cnlpbmcgdG8KbW9kaWZ5IHRoZSBjb2Rl LCBpdCBiZWNvbWVzIGVhc2llciB0byB1bmRlcnN0YW5kLCBhdCBsZWFzdCBmb3IgbWUuCgpJIHVz ZSB0aGUgcmlzYy12IGFyY2hpdGVjdHVyZSB0byBkZW1vbnN0cmF0ZSBhc3NlbWJseSBjb21wYXJp c29uIGJlY2F1c2UgSQpoYXBwZW4gdG8gaGF2ZSBhIHNldCBvZiBzdWNoIHRvb2xjaGFpbnMgYXQg aGFuZCwgYW5kIEkgd29yayB1bmRlciB0aGUgcmlzYy12CmFyY2hpdGVjdHVyZSwgd2hpY2ggbWFr ZXMgaXQgZWFzaWVyIGZvciBtZSB0byBhc3Nlc3MgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgY29kZSBv cHRpbWl6YXRpb24uCgpBcyBhIGp1bmlvciBjb21waWxlciBlbmdpbmVlciwgSSB3b3VsZCBsaWtl IHRvIHByb3ZpZGUgc29tZSBpbmZvcm1hdGlvbjoKRm9yIGJyYW5jaCBqdW1wcywgdGhlcmUgaXMg YSBaaWNvbmQgZXh0ZW5zaW9uIHNldCBpbiB0aGUgcmlzYy12IGFyY2hpdGVjdHVyZSB0aGF0IGNh bgp0dXJuIHRoZW0gaW50byBzZXF1ZW50aWFsIGV4ZWN1dGlvbi4gVGhlIGFkdmFudGFnZSBpcyB0 aGF0IHRoaXMgdXN1YWxseSBiZW5lZml0cyB0aGUKc3BlZWQgb2YgY29kZSBleGVjdXRpb24sIHdo aWxlIHRoZSBkaXNhZHZhbnRhZ2UgaXMgdGhhdCB0aGUgZ2VuZXJhdGVkIHNlcXVlbnRpYWwKaW5z dHJ1Y3Rpb24gc2VxdWVuY2VzIGFyZSBjb3VwbGVkIHRvZ2V0aGVyLCBtYWtpbmcgaXQgaW1wb3Nz aWJsZSB0byBleGVjdXRlIGNvbmN1cnJlbnRseS4KCkluIHRoZSBjYXNlIG9mIGluc3RydWN0aW9u IHN1cHBvcnQgKHN1Y2ggYXMgWmljb25kIG1lbnRpb25lZCBlYXJsaWVyKSwgdGhlIGNvbXBpbGVy CmNhbiBvbmx5IG1lcmdlIGFuZCBvcHRpbWl6ZSBiYXNpYyBibG9ja3MgaW4gc2ltcGxlIHNpdHVh dGlvbnMKCk92ZXJhbGw6CklmIGJyYW5jaGVzIGNhbiBiZSByZW1vdmVkIGZyb20gdGhlIGNvZGUs IGl0IHdpbGwgaW5jcmVhc2UgdGhlIHBvc3NpYmlsaXR5IG9mCmNvbXBpbGVyIG9wdGltaXphdGlv bi4gSWYgcmVkdW5kYW50IGJyYW5jaGVzIGFyZSBhbGxvd2VkIHRvIGV4aXN0LCB0aGUgY29tcGls ZXLCoG1heSBub3QKYmUgYWJsZSB0byByZWNvZ25pemUgdGhpcyBvcHRpbWl6YXRpb24gKGluIHN0 cnBicmsuYywgYmVjYXVzZSBpdCBpbnZvbHZlc8Kgc3BlY3VsYXRpb24gYWJvdXQKcmVnaXN0ZXIg dmFsdWVzLCB0aGUgY29tcGlsZXIgbWF5IG5vdCBiZSBhYmxlIHRvIHJlY29nbml6ZSB0aGlzIG9w dGltaXphdGlvbikKCkZvciB0aGUgY29kZSBpbiBuZXdsaWIsIEkgYmVsaWV2ZSB0aGF0IGZhc3Rl ciBjb2RlIGlzIGJldHRlciB3aXRob3V0IHNpZ25pZmljYW50bHkgcmVkdWNpbmcKaXRzIHJlYWRh YmlsaXR5IGFuZCBwb3J0YWJpbGl0eS4gKE9mIGNvdXJzZSwgaXQncyBqdXN0IG15IG9waW5pb24p CgpBbHRob3VnaCBJIGhhdmUgbm90IHRlc3RlZCBvdGhlciBhcmNoaXRlY3R1cmVzLCBiYXNlZCBv biBteSBjdXJyZW50IGtub3dsZWRnZSwgb3RoZXIKYXJjaGl0ZWN0dXJlcyB3aWxsIGFsc28gcmVj ZWl2ZSBiZXR0ZXIgY29kZSBhZnRlciBteSBwYXRjaC4gQ2FuIHNvbWVvbmUgaGVscCB0ZXN0IHRo ZQpwZXJmb3JtYW5jZSB1bmRlciBvdGhlciBhcmNoaXRlY3R1cmVzIGFuZCBjb21waWxhdGlvbiBw YXJhbWV0ZXJzPyB0aGFuayB5b3UuCsKgClRoYW5rcwpYaWFvIFplbmcKCg==