Re: pg_avd

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Neil Conway <neilc(at)samurai(dot)com>
Cc: "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>, PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: pg_avd
Date: 2003-02-18 15:07:36
Message-ID: 23463.1045580856@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Neil Conway <neilc(at)samurai(dot)com> writes:
> Some minor nit-picking follows below. I tend to be a bit of a
> style-nazi, don't mind me :-)

> - the length argument to snprintf() includes the terminating NUL byte,
> so code like pg_avd.c line 334 is off-by-one:

> char buf[256];
> /* ... */
> snprintf(buf,255,"...");

Actually the preferred coding of this is

snprintf(buf, sizeof(buf), ...);

which is both correct and impervious to subsequent alteration of the
declared size of buf. I get antsy whenever I see a snprintf with a
literal-constant size argument, because it's a mistake waiting to
happen. Use sizeof() when you can, or at least a #define.

regards, tom lane

In response to

  • Re: pg_avd at 2003-02-18 08:24:29 from Neil Conway

Responses

  • Re: pg_avd at 2003-02-18 18:39:51 from Matthew T. O'Connor

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2003-02-18 15:57:56 Re: Non-colliding auto generated names
Previous Message Christopher Kings-Lynne 2003-02-18 15:03:17 Re: Non-colliding auto generated names