Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932212Ab2HFQET (ORCPT ); Mon, 6 Aug 2012 12:04:19 -0400 Received: from imp03.mtu.ru ([62.5.255.20]:60017 "EHLO imp03.mtu.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755535Ab2HFQER (ORCPT ); Mon, 6 Aug 2012 12:04:17 -0400 X-Spam-Flag: NO Message-ID: <501FEA29.1030400@pavlinux.ru> Date: Mon, 06 Aug 2012 20:00:41 +0400 From: Pavel Vasilyev Reply-To: pavel@pavlinux.ru Organization: Pavlinux. Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.6esrpre) Gecko/20120713 Thunderbird/10.0.6 MIME-Version: 1.0 To: Alan Stern CC: Pavel Machek , Len Brown , linux-acpi@vger.kernel.org, linux-pm@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Len Brown Subject: Re: [linux-pm] [PATCH] ACPI: replace strlen("string") with sizeof("string") -1 References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1139 Lines: 37 06.08.2012 18:36, Alan Stern пишет: > On Mon, 6 Aug 2012, Pavel Machek wrote: > >> On Thu 2012-07-26 21:39:38, Len Brown wrote: >>> ...both give the number of chars in the string >>> without the '\0', as strncmp() wants, >>> but sizeof() is compile-time. >> >> What about introducing something like streq() to do this >> automatically? This is ugly.... >> >> #define streq(a, b) ... if (_buildin_constant(b)) ... >> >> ? >> >>> - if (!strncmp(val, "enable", strlen("enable"))) { >>> + if (!strncmp(val, "enable", sizeof("enable") - 1)) { > > While you're at it, there's no point using strncmp when you know the > length of one of the strings beforehand. Just use memcmp, and don't > subtract 1 from the sizeof value. http://www.gossamer-threads.com/lists/engine?do=post_attachment;postatt_id=41157;list=linux :) -- Pavel. -- 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/