On Tue, 6 Jul 2004, Bruce Momjian wrote:
> Tom Lane wrote:
> > Andreas Pflug <pgadmin@pse-consulting.de> writes:
> > > Joe Conway wrote:
> > >> 2) This allocation size was a bit ambigous and I think based on a once
> > >> longer tablespace directory name:
> >
> > > This size calculation originated (copy/paste) from
> > > commands/tablespace.c,
> >
> > Yeah --- Bruce did not adjust the string length calculations when he
> > editorialized on the directory name. I'd been meaning to go back and
> > make them match.
> >
> > > should be clarified there too (and "pg_tblspc" is
> > > hardcoded in strings, could be extracted to a macro definition).
> >
> > [ shrug... ] The name is not going to change again. I have never cared
> > for the practice of writing strlen("foo") as if it were a compile-time
> > constant. But certainly it would be entirely pointless to define such a
> > macro and then use it in only one place.
>
> I think with gcc strlen("foo") is a compile-time constant. At least I
> remember that as a gcc optimization. What do you prefer?
> sizeof("foo")-1? Certainly +3 is poorly documented, no?
You're right about the gcc optimisation:
int i = strlen("foo");
8048304: c7 45 fc 03 00 00 00 movl $0x3,0xfffffffc(%ebp)
It does look messy thought. Can't this be cleared by a comment?
Thanks,
Gavin