Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757813AbbGGRNU (ORCPT ); Tue, 7 Jul 2015 13:13:20 -0400 Received: from resqmta-po-01v.sys.comcast.net ([96.114.154.160]:43280 "EHLO resqmta-po-01v.sys.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932346AbbGGRNK (ORCPT ); Tue, 7 Jul 2015 13:13:10 -0400 Message-ID: <559C06B4.2010808@gonehiking.org> Date: Tue, 07 Jul 2015 11:04:52 -0600 From: Khalid Aziz User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Frans Klaver , Christophe JAILLET CC: JBottomley@odin.com, linux-scsi@vger.kernel.org, "linux-kernel@vger.kernel.org" , kernel-janitors@vger.kernel.org Subject: Re: [PATCH] [SCSI] FlashPoint: optimize string comparison References: <1436247543-7326-1-git-send-email-christophe.jaillet@wanadoo.fr> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1997 Lines: 56 On 07/07/2015 02:45 AM, Frans Klaver wrote: > On Tue, Jul 7, 2015 at 7:39 AM, Christophe JAILLET > wrote: >> Stop comparing the strings as soon as we know that they don't match. >> >> Signed-off-by: Christophe JAILLET >> --- >> drivers/scsi/FlashPoint.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/scsi/FlashPoint.c b/drivers/scsi/FlashPoint.c >> index 5c74e4c..24a4d1a 100644 >> --- a/drivers/scsi/FlashPoint.c >> +++ b/drivers/scsi/FlashPoint.c >> @@ -6280,8 +6280,10 @@ static unsigned char FPT_scmachid(unsigned char p_card, >> match = 1; >> >> for (k = 0; k < ID_STRING_LENGTH; k++) { >> - if (p_id_string[k] != FPT_scamInfo[i].id_string[k]) >> + if (p_id_string[k] != FPT_scamInfo[i].id_string[k]) { >> match = 0; >> + break; >> + } >> } >> >> if (match) { > > Why doesn't this use strncmp? > > Thanks, > Frans > I suspect that is how this code came from Mylex many years ago. Using strncmp would indeed be a better way to clean this up. Also, further down in the same routine: if (FPT_scamInfo[match].state == ID_UNUSED) { for (k = 0; k < ID_STRING_LENGTH; k++) { FPT_scamInfo[match].id_string[k] = p_id_string[k]; } This should use strncpy instead. There is another similar spot further down. Christophe, if you can send a new patch with these clean-ups, that would be great. Thanks, Khalid -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/