Messages in this thread | | | Date | Mon, 6 Aug 2012 12:28:33 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [linux-pm] [PATCH] ACPI: replace strlen("string") with sizeof("string") -1 |
| |
On Mon, 6 Aug 2012, Pavel Vasilyev wrote:
> 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
Interestingly, many (all?) of the changes in that patch are wrong because they don't try to match the terminating '\0'. As a result, they will match against extensions of the target string as well as the target string itself.
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/
| |