|
6 | 6 | *
|
7 | 7 | * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
|
8 | 8 | *
|
9 |
| - * $PostgreSQL: pgsql/src/port/open.c,v 1.15 2006/09/24 17:19:53 tgl Exp $ |
| 9 | + * $PostgreSQL: pgsql/src/port/open.c,v 1.16 2006/10/03 20:44:18 momjian Exp $ |
10 | 10 | *
|
11 | 11 | *-------------------------------------------------------------------------
|
12 | 12 | */
|
@@ -105,9 +105,15 @@ pgwin32_open(const char *fileName, int fileFlags,...)
|
105 | 105 | }
|
106 | 106 |
|
107 | 107 | /* _open_osfhandle will, on error, set errno accordingly */
|
108 |
| -if ((fd=_open_osfhandle((long)h,fileFlags&O_APPEND))<0|| |
109 |
| -(fileFlags& (O_TEXT |O_BINARY)&& (_setmode(fd,fileFlags& (O_TEXT |O_BINARY))<0))) |
| 108 | +if ((fd=_open_osfhandle((long)h,fileFlags&O_APPEND))<0) |
110 | 109 | CloseHandle(h);/* will not affect errno */
|
| 110 | +elseif (fileFlags& (O_TEXT |O_BINARY)&& |
| 111 | +_setmode(fd,fileFlags& (O_TEXT |O_BINARY))<0) |
| 112 | +{ |
| 113 | +_close(fd); |
| 114 | +return-1; |
| 115 | +} |
| 116 | + |
111 | 117 | returnfd;
|
112 | 118 | }
|
113 | 119 |
|
|