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

From David Steele
Subject Re: C99 compliance for src/port/snprintf.c
Date
Msg-id e452e970-cf80-6e7e-17c1-24730a5c9ca9@pgmasters.net
Whole thread Raw
In response to Re: C99 compliance for src/port/snprintf.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: C99 compliance for src/port/snprintf.c
List pgsql-hackers
On 8/15/18 3:18 PM, Tom Lane wrote:
> 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.

This works in C99 -- and I'm a really big fan.

-- 
-David
david@pgmasters.net


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: C99 compliance for src/port/snprintf.c
Next
From: Tom Lane
Date:
Subject: Re: C99 compliance for src/port/snprintf.c