Re: Win32 fix for pg_dumpall

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Win32 fix for pg_dumpall
Date: 2004-08-08 14:02:03
Message-ID: 4116325B.7060504@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2004-08-08 14:55:16 Re: Win32 tablespace
Previous Message Andreas Pflug 2004-08-08 11:30:06 Re: Win32 tablespace