Re: [PATCH] Fix incorrect fprintf usage in log_error FRONTEND path - Mailing list pgsql-hackers

From Bryan Green
Subject Re: [PATCH] Fix incorrect fprintf usage in log_error FRONTEND path
Date
Msg-id c57ec206-c62b-4779-958d-44ce58f1c3ba@gmail.com
Whole thread Raw
In response to [PATCH] Fix incorrect fprintf usage in log_error FRONTEND path  (Bryan Green <dbryan.green@gmail.com>)
Responses Re: [PATCH] Fix incorrect fprintf usage in log_error FRONTEND path
List pgsql-hackers
On 10/13/25 13:16, Bryan Green wrote:
> On 10/13/25 13:01, Tom Lane wrote:
>> Bryan Green <dbryan.green@gmail.com> writes:
>>> On 10/13/25 10:48, Tom Lane wrote:
>>>> Huh, that certainly appears broken, but isn't the non-FRONTEND
>>>> case equally broken?  write_stderr() doesn't expect a va_list
>>>> either.  I wonder if this code is ever reached at all.
>>
>>> I found two instances of write_stderr(), one in elog.c and another in
>>> pg_ctl.c.
>>> They both use functions that correctly handle the va_list-- either
>>> vsnprintf or vfprintf.
>>
>> It's the one in elog.c that the non-FRONTEND case is going to invoke.
>> But I think you're mistaken that it'll "just work".  write_stderr()
>> is creating its own va_list.
>>
>> We probably need to invent vwrite_stderr().
>>
>>             regards, tom lane
> Oh, yes, I see it now.  I will create the vwrite_stderr()-- probably 
> something like below, and then create a new patch.
> 
> void
> vwrite_stderr(const char *fmt, va_list ap)
> {
> #ifdef WIN32
>      char        errbuf[2048];
> #endif
>      fmt = _(fmt);
> 
> #ifndef WIN32
>      vfprintf(stderr, fmt, ap);
>      fflush(stderr);
> #else
>      vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
>      if (pgwin32_is_service())
>          write_eventlog(ERROR, errbuf, strlen(errbuf));
>      else
>      {
>          write_console(errbuf, strlen(errbuf));
>          fflush(stderr);
>      }
> #endif
> }
> 
> Thanks,
> Bryan Green
I mistakenly just hit reply instead of reply all.  Apologies for the 
clutter.



pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: Clarification on Role Access Rights to Table Indexes
Next
From: Alexey Makhmutov
Date:
Subject: Re: Adding basic NUMA awareness