Tom Lane wrote:
> I checked around with some kernel/glibc gurus in Red Hat, and the
> consensus seemed to be that we'd be better off to bypass fprintf() and
> just send message strings to stderr using write() --- ie, instead of
> elog.c doing
> 
>             fprintf(stderr, "%s", buf.data);
> 
> do
> 
>             write(fileno(stderr), buf.data, strlen(buf.data));
> 
> Anyone have any comments on possible portability risks?  In 
> particular, will this work on Windows?

The following program compiles and runs fine:

#include <stdio.h>
#include <unistd.h>
#include <string.h>

int main(int argc, char **argv) {
        const char *s="Hello!\n";

        write(fileno(stderr), s, strlen(s));
        return 0;
}

Yours,
Laurenz Albe

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to