Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > Tom Lane wrote:
> >> [ 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.
> 
> > I think with gcc strlen("foo") is a compile-time constant.
> 
> Portability is exactly the root of the problem.  If you are in the habit
> of doing this then you get led into unportable behaviors like
>       char    localarray[strlen(foo) + 1];
> which no compiler except gcc will take.  (We just had to fix exactly
> that mistake in someone's patch within the last week or two.)

One idea would be to create a CONST_STRLEN macro that uses sizeof()-1.

> > What do you prefer? 
> 
> I use "3" ;-).  As long as the size calculation and the filling of the
> string are immediately adjacent, the purpose of the code is clear
> enough.

If it is on the same line, yea, it is clear, but often the size refers
to something declared several lines away.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to