1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-29 13:56:47 +03:00

Add comment to explain why O_EXCL and O_TRUNC can be ignored in

openFlagsToCreateFileFlags() in certain cases.
This commit is contained in:
Bruce Momjian 2007-02-13 02:06:22 +00:00
parent d1d3f4d015
commit 849b070707

View File

@ -6,7 +6,7 @@
* *
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/port/open.c,v 1.18 2007/01/05 22:20:02 momjian Exp $ * $PostgreSQL: pgsql/src/port/open.c,v 1.19 2007/02/13 02:06:22 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -25,6 +25,7 @@ openFlagsToCreateFileFlags(int openFlags)
{ {
switch (openFlags & (O_CREAT | O_TRUNC | O_EXCL)) switch (openFlags & (O_CREAT | O_TRUNC | O_EXCL))
{ {
/* O_EXCL is meaningless without O_CREAT */
case 0: case 0:
case O_EXCL: case O_EXCL:
return OPEN_EXISTING; return OPEN_EXISTING;
@ -32,6 +33,7 @@ openFlagsToCreateFileFlags(int openFlags)
case O_CREAT: case O_CREAT:
return OPEN_ALWAYS; return OPEN_ALWAYS;
/* O_EXCL is meaningless without O_CREAT */
case O_TRUNC: case O_TRUNC:
case O_TRUNC | O_EXCL: case O_TRUNC | O_EXCL:
return TRUNCATE_EXISTING; return TRUNCATE_EXISTING;
@ -39,6 +41,7 @@ openFlagsToCreateFileFlags(int openFlags)
case O_CREAT | O_TRUNC: case O_CREAT | O_TRUNC:
return CREATE_ALWAYS; return CREATE_ALWAYS;
/* O_TRUNC is meaningless with O_CREAT */
case O_CREAT | O_EXCL: case O_CREAT | O_EXCL:
case O_CREAT | O_TRUNC | O_EXCL: case O_CREAT | O_TRUNC | O_EXCL:
return CREATE_NEW; return CREATE_NEW;