Re: [PATCH] NTFS: Change string pointers to string constants.

From: John Daiker
Date: Tue Dec 08 2009 - 14:22:23 EST


On 12/07/2009 05:47 PM, Joe Perches wrote:
On Tue, 2009-12-08 at 00:57 +0000, Anton Altaparmakov wrote:
Can you please explain the rational for making this change?

Perhaps it's not worth much, but it saves a pointer reference.

$ cat pointer.c
#include<string.h>
#include<stdio.h>

int main (int argc, char** argv)
{
static const char *foo = "abcdefg";
printf("%s\n", foo);
return 0;
}

$ gcc -c pointer.c
$ size pointer.o
text data bss dec hex filename
37 4 0 41 29 pointer.o

$ cat reference.c
#include<string.h>
#include<stdio.h>

int main (int argc, char** argv)
{
static const char foo[] = "abcdefg";
printf("%s\n", foo);
return 0;
}

$ gcc -c reference.c
$ size reference.o
text data bss dec hex filename
36 0 0 36 24 reference.o




As Joe mentioned above (thanks Joe!) it saves a pointer reference.

It is also listed as a KernelJanitors ToDo item (about 2/3 of the way down the page). Searching for 'From: Jeff Garzik' should find it.

John

[1] http://kernelnewbies.org/KernelJanitors/Todo
--
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/