Re: C99 compliance for src/port/snprintf.c - Mailing list pgsql-hackers

From Tom Lane
Subject Re: C99 compliance for src/port/snprintf.c
Date
Msg-id 20825.1534360737@sss.pgh.pa.us
Whole thread Raw
In response to Re: C99 compliance for src/port/snprintf.c  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Responses Re: C99 compliance for src/port/snprintf.c
Re: C99 compliance for src/port/snprintf.c
List pgsql-hackers
Andrew Dunstan <andrew.dunstan@2ndquadrant.com> writes:
> On 08/15/2018 12:17 PM, Tom Lane wrote:
>> Robert Haas <robertmhaas@gmail.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


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Facility for detecting insecure object naming
Next
From: Andrew Dunstan
Date:
Subject: Re: C99 compliance for src/port/snprintf.c