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
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 |