Re: C99 compliance for src/port/snprintf.c

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: C99 compliance for src/port/snprintf.c
Date: 2018-08-15 19:18:57
Message-ID: 20825.1534360737@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-www

Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com> writes:
> On 08/15/2018 12:17 PM, Tom Lane wrote:
>> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>>> Personally, I'd prefer to
>>> continue avoiding // comments and intermingled declarations of
>>> variables and code on grounds of style and readability.

>> ... which I agree with.

> A decade or so ago I would have strongly agreed with you. But the
> language trend seems to be in the other direction. And there is
> something to be said for declaration near use without having to use an
> inner block. I'm not advocating that we change policy, however.

FWIW, the issue I've got with what C99 did is that you can narrow the
*start* of the scope of a local variable easily, but not the *end* of
its scope, which seems to me to be solving at most half of the problem.
To solve the whole problem, you end up needing a nested block anyway.

I do dearly miss the ability to easily limit the scope of a loop's
control variable to just the loop, eg

for (int i = 0; ...) { ... }

But AFAIK that's C++ not C99.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2018-08-15 19:21:30 Re: C99 compliance for src/port/snprintf.c
Previous Message Bruce Momjian 2018-08-15 19:17:22 Re: Facility for detecting insecure object naming

Browse pgsql-www by date

  From Date Subject
Next Message Andrew Dunstan 2018-08-15 19:21:30 Re: C99 compliance for src/port/snprintf.c
Previous Message Andrew Dunstan 2018-08-15 18:59:46 Re: C99 compliance for src/port/snprintf.c