Re: [BUGS] 0x1A in control file on Windows - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: [BUGS] 0x1A in control file on Windows
Date
Msg-id 48DA4225.2060201@hagander.net
Whole thread Raw
In response to Re: [BUGS] 0x1A in control file on Windows  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
Andrew Dunstan wrote:
> 
> 
> Tom Lane wrote:
>>> The point being that the config files are opened with AllocateFile(),
>>> which in turn calls fopen(). It doesn't use open(). The proposal was
>>> only to make all *open()* calls do it binary. I was under the impression
>>> that on Unix, that's what open() did, so we should behave the same?
>>>     
>>
>> That seems just weird.  I do not think there's any correlation between
>> whether we use open or fopen and whether the file is text or binary.
>> Even if it happens to be true right now, depending on it would be
>> fragile.
>>
>>     
>>   
> 
> I agree. If you really want something like that you should invent
> OpenConfigFile() or some such. But it hardly seems worth it.

Well, the AllocateFile() API already has the ability to specify if it's
a text file or not (using the fopen syntax).

And given that we have a way to specify it for open (PG_BINARY), we can
just leave it that way I guess. Even if we end up always specifying
PG_BINARY, that may keep things less fragile. As long as we remember to
specify it. (PG_BINARY is a no-op on all other platforms than Windows,
btw, because there is no way to specify anything other than binary mode
for open() on Unix)

//Magnus


pgsql-hackers by date:

Previous
From: Aidan Van Dyk
Date:
Subject: Re: Proposal of SE-PostgreSQL patches (for CommitFest:Sep)
Next
From: KaiGai Kohei
Date:
Subject: Re: Proposal of SE-PostgreSQL patches (for CommitFest:Sep)