Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp921471ybx; Wed, 30 Oct 2019 07:15:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqxfgtjiyZnqCae4BVeKsGUjGItUx8V3AdWz0SDEEBd6Qc1Yl9PUOosOarKizwoq+7J5hhnb X-Received: by 2002:a17:906:e243:: with SMTP id gq3mr9335955ejb.302.1572444950380; Wed, 30 Oct 2019 07:15:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572444950; cv=none; d=google.com; s=arc-20160816; b=OJx617TuaRqAK9Ss2OPWm0mcj0WVtw0fZvQWBufXn7SplPSc7vi5lU/h13rPxfCqre afvohcSBGnUr0eWBzqlWyTFPiUIwpROV8O+0HnP2VtFnTR1eXxpTsKK81jhlotVjsifR C1AVveqhR+tgRI10czm9XrG9BSZTEMME6PtCUrPwG79o/beS7C5YjYd3ufZoD4Tmja15 gdDtMxIrJZ6uapnKktrjWi4bmZF4V0OSQMTF8xv88xnlyR3DlwpkkimoUxNwJquSlH+B 1irlNEoM39Mk/m79j/cSTe8ec6s8okvR0sC5wSEivaacM/Py593yTfUTTPZDtjEDDzLt i2PA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=BXISF37qjottRH9YOXZMNFjsVD4v0CEYkJVqjGdOzVU=; b=I097ZANzszoOARRFczbS+ND/ApP/Q/aa9j2nGHx+N3xuo8X/Qnw46if/6GcfJq5HeV kqNLxyeCCxtYQ/FpaHlhk4c3hH4gbgtN9dXIpFVG7Id0qs1+YsIHr9KYoBRrds/j902d uw3fFvc572kjauTGfEQek4Q/ynufZXD+VOTB62/0ZNNckuJUiHRO6mtjz0IyBgcpl4iv u+Uhivz0/xaYL0tw3txybd9qJYPM1bSFWE1lwH0sXcqezm5JUTpBHEnqF78gIkzoGjbH oDRx2ttvKGcUkJ4bW79ierSHXs0DmAJVH75DYrf+YnmhbS640RKkOPob+VUJfH1f1PVh rpKQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=126.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m90si1756225ede.52.2019.10.30.07.15.25; Wed, 30 Oct 2019 07:15:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=126.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726353AbfJ3OOc (ORCPT + 99 others); Wed, 30 Oct 2019 10:14:32 -0400 Received: from out28-1.mail.aliyun.com ([115.124.28.1]:40440 "EHLO out28-1.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726096AbfJ3OOc (ORCPT ); Wed, 30 Oct 2019 10:14:32 -0400 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.126954|-1;CH=green;DM=CONTINUE|CONTINUE|true|0.447419-0.0048505-0.54773;FP=0|0|0|0|0|-1|-1|-1;HT=e02c03310;MF=liu.xiang@zlingsmart.com;NM=1;PH=DS;RN=2;RT=2;SR=0;TI=SMTPD_---.FsafdIU_1572444865; Received: from localhost(mailfrom:liu.xiang@zlingsmart.com fp:SMTPD_---.FsafdIU_1572444865) by smtp.aliyun-inc.com(10.194.99.21); Wed, 30 Oct 2019 22:14:25 +0800 From: Liu Xiang To: linux-kernel@vger.kernel.org Cc: liuxiang_1999@126.com Subject: [PATCH] lib: string: reduce unnecessary loop in strncpy Date: Wed, 30 Oct 2019 22:14:19 +0800 Message-Id: <1572444859-3687-1-git-send-email-liuxiang_1999@126.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now in strncpy, even src[0] is 0, loop will execute count times until count is 0. It is better to exit the loop immediately when *src is 0. Signed-off-by: Liu Xiang --- lib/string.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/string.c b/lib/string.c index 08ec58c..1065352 100644 --- a/lib/string.c +++ b/lib/string.c @@ -115,12 +115,8 @@ char *strncpy(char *dest, const char *src, size_t count) { char *tmp = dest; - while (count) { - if ((*tmp = *src) != 0) - src++; - tmp++; - count--; - } + while (count-- && (*tmp++ = *src++) != '\0') + ; /* nothing */ return dest; } EXPORT_SYMBOL(strncpy); -- 1.9.1