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

From: Daniel Taylor
Date: Tue Aug 07 2012 - 21:08:57 EST


Said it was a silly question.

It's funny.

I've been using "0123456789abcdef"[index] for a long time, so I "know"
that "string" is a array of char, but it never occurred to me that
"string" would work in sizeof() the same way as

char string[] = { '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f', '\0' };

int stringlength = sizeof(string);

Learned something.

Thanks,

Dan


> -----Original Message-----
> From: Bernd Petrovitsch [mailto:bernd@xxxxxxxxxxxxxxxxxxx]
> Sent: Tuesday, August 07, 2012 6:20 AM
> To: Daniel Taylor
> Cc: 'Alan Stern'; Pavel Vasilyev; 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, 2012-08-06 at 22:57 +0000, Daniel Taylor wrote:
> > 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)?
>
> It is since K&R times that way.
> If you do not know the difference between a pointer and an array (and
> these are vastly different), go learn something new about C.
>
> Bernd
> --
> Bernd Petrovitsch Email : bernd@xxxxxxxxxxxxxxxxxxx
> LUGA : http://www.luga.at
>
> --
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/