Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756631Ab2HFOhA (ORCPT ); Mon, 6 Aug 2012 10:37:00 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:36540 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1756269Ab2HFOg6 (ORCPT ); Mon, 6 Aug 2012 10:36:58 -0400 Date: Mon, 6 Aug 2012 10:36:57 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Pavel Machek cc: Len Brown , , , , Len Brown , Pavel Vasilyev Subject: Re: [linux-pm] [PATCH] ACPI: replace strlen("string") with sizeof("string") -1 In-Reply-To: <20120806102114.GA31404@elf.ucw.cz> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 927 Lines: 28 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. Alan Stern -- 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/