Browse Source

+ Fixed bug with stream creation flags

michael 27 years ago
parent
commit
236a77964f
1 changed files with 12 additions and 6 deletions
  1. 12 6
      rtl/linux/objinc.inc

+ 12 - 6
rtl/linux/objinc.inc

@@ -15,13 +15,19 @@ Var LinuxMode : longint;
     
 BEGIN
   LinuxMode:=0;
-  if (Mode and stCreate)=stCreate then
+  if Mode=stCreate then
+  Begin
      LinuxMode:=Open_Creat;
-  Case (Mode and 3) of
-  0 : LinuxMode:=LinuxMode or Open_RdOnly;
-  1 : LinuxMode:=LinuxMode or Open_WrOnly;
-  2 : LinuxMode:=LinuxMode or Open_RdWr;
-  end;
+     LinuxMode:=LinuxMode or Open_RdWr;
+  end
+  else
+   Begin
+     Case (Mode and 3) of
+      0 : LinuxMode:=LinuxMode or Open_RdOnly;
+      1 : LinuxMode:=LinuxMode or Open_WrOnly;
+      2 : LinuxMode:=LinuxMode or Open_RdWr;
+     end;
+   end;
   FileOpen:=SYS_Open (pchar(@FileName[0]),LinuxMode,438 {666 octal});
   If FileOpen=-1 then FileOpen:=0;
   DosStreamError:=Errno;