Selaa lähdekoodia

file creation on f[re]open() was still wrong

eck 34 vuotta sitten
vanhempi
commit
c3edbe2528
2 muutettua tiedostoa jossa 2 lisäystä ja 2 poistoa
  1. 1 1
      lang/cem/libcc.ansi/stdio/fopen.c
  2. 1 1
      lang/cem/libcc.ansi/stdio/freopen.c

+ 1 - 1
lang/cem/libcc.ansi/stdio/fopen.c

@@ -88,7 +88,7 @@ fopen(const char *name, const char *mode)
 	 */
 	if ((rwflags & O_TRUNC)
 	    || (((fd = _open(name, rwmode)) < 0)
-		    && (flags & _IOWRITE))) {
+		    && (rwflags & O_CREAT))) {
 		if (((fd = _creat(name, PMODE)) > 0) && flags  | _IOREAD) {
 			(void) _close(fd);
 			fd = _open(name, rwmode);

+ 1 - 1
lang/cem/libcc.ansi/stdio/freopen.c

@@ -68,7 +68,7 @@ freopen(const char *name, const char *mode, FILE *stream)
 
 	if ((rwflags & O_TRUNC)
 	    || (((fd = _open(name, rwmode)) < 0)
-		    && (flags & _IOWRITE))) {
+		    && (rwflags & O_CREAT))) {
 		if (((fd = _creat(name, PMODE)) < 0) && flags | _IOREAD) {
 			(void) _close(fd);
 			fd = _open(name, rwmode);