Re: Win32 fix for pg_dumpall - Mailing list pgsql-patches

From Andrew Dunstan
Subject Re: Win32 fix for pg_dumpall
Date
Msg-id 4116325B.7060504@dunslane.net
Whole thread Raw
In response to Win32 fix for pg_dumpall  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Win32 fix for pg_dumpall
Re: Win32 fix for pg_dumpall
List pgsql-patches

Bruce Momjian wrote:

>
>              /*
>+              *    Sometime the child returns "\r\n", which doesn't match
>+              *    our version string.  The backend uses
>+              *    setvbuf(stdout, NULL, _IONBF, 0), but pg_dump doesn't
>+              *    so we have to fix it here.
>+              */
>+             if (strlen(line) >= 2 &&
>+                 line[strlen(line)-2] == '\r' &&
>+                 line[strlen(line)-1] == '\n')
>+             {
>+                 line[strlen(line)-2] == '\n';
>+                 line[strlen(line)-1] == '\0';
>+             }
>+
>+             /*
>
>
>

I do not see how the comment relates at all to the code following it -
buffer mode and line end mode are two different things. Also, the
repeated calls to strlen(line) are horribly inefficient - it should be
called once and stashed in an int (I once made an order of magnitude
speedup in a program by correcting a piece of someone else's code that
looked like this: for (i = 0; i <= strlen(s); i++) where s was an
invariant very long string)

cheers

andrew

pgsql-patches by date:

Previous
From: markir@coretech.co.nz
Date:
Subject: Re: Win32 tablespace
Next
From: Bruce Momjian
Date:
Subject: Re: Win32 tablespace