RE: [linux-pm] [PATCH] ACPI: replace strlen("string") withsizeof("string") -1

From: Daniel Taylor
Date: Mon Aug 06 2012 - 19:06:50 EST


Silly question: when did sizeof("string") get changed to be anything
other than the size of the pointer ("string" is, after all, an array
of characters)?

> -----Original Message-----
> From: linux-kernel-owner@xxxxxxxxxxxxxxx
> [mailto:linux-kernel-owner@xxxxxxxxxxxxxxx] On Behalf Of Alan Stern
> Sent: Monday, August 06, 2012 1:00 PM
> To: Pavel Vasilyev
> Cc: Pavel Machek; Len Brown; linux-acpi@xxxxxxxxxxxxxxx;
> linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; Len Brown
> Subject: Re: [linux-pm] [PATCH] ACPI: replace
> strlen("string") with sizeof("string") -1
>
> On Mon, 6 Aug 2012, Pavel Vasilyev wrote:
>
> > >>
> http://www.gossamer-threads.com/lists/engine?do=post_attachmen
> t;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.
> > >
> >
> > strNcmp compare N bytes -
> http://lxr.linux.no/#linux+v3.5/lib/string.c#L270
> > memcmp compare N bytes -
> http://lxr.linux.no/#linux+v3.5/lib/string.c#L651
>
> Yes. So if s contains "abcde" then
>
> memcmp(s, "abc", 3) and strncmp(s, "abc", 3) will both
> return 0, and
> memcmp(s, "abc", 4) and strncmp(s, "abc", 4) will both return 1.
>
> Alan Stern
>
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
> --
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/