ecere:File: removed File::Open method and restored FileOpen function. extras:CSVParse...
[sdk] / ecere / src / sys / File.ec
index caa0fe8..2f541a1 100644 (file)
@@ -728,6 +728,7 @@ public:
       return result;
    }
 
+#if 0
    virtual bool Open(char * fileName, FileOpenMode mode)
    {
       bool result = false;
@@ -759,6 +760,7 @@ public:
       }
       return result;
    }
+#endif
 
    virtual void Close()
    {
@@ -915,10 +917,30 @@ public File FileOpen(char * fileName, FileOpenMode mode)
          File file = File {};
          if(file)
          {
-            if(file.Open(fileName, mode))
-               result = file;
+            FILE_FileOpen(fileName, mode, &file.input, &file.output);
+
+            //file.mode = mode;
+            if(!file.input && !file.output);
             else
+            {
+               openCount++;
+               result = file;
+               // TESTING ENABLING FILE BUFFERING BY DEFAULT... DOCUMENT ANY ISSUE
+               /*
+               if(file.input)
+                  setvbuf(file.input, null, _IONBF, 0);
+               else
+                  setvbuf(file.output, null, _IONBF, 0);
+               */
+            }
+            if(!result)
+            {
                delete file;
+               /* TOFIX:
+               LogErrorCode((mode == Read || mode == ReadWrite) ? 
+                  ERR_FILE_NOT_FOUND : ERR_FILE_WRITE_FAILED, fileName);
+               */
+            }
          }
       }
    }