]> git.saurik.com Git - wxWidgets.git/commitdiff
Return the old file descriptor/pointer from wx(F)File::Detach().
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 12 Sep 2013 20:49:10 +0000 (20:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 12 Sep 2013 20:49:10 +0000 (20:49 +0000)
Make Detach() more convenient to use.

Closes #15494.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/ffile.h
include/wx/file.h
interface/wx/ffile.h
interface/wx/file.h

index 17df9bf9733039b5bf325e762485d07a54c78889..18b61b88ea5eb5d9e2ffe891a1d83d50557f6a6f 100644 (file)
@@ -567,6 +567,7 @@ All:
 - Add wxFileName::SetPermissions() (Catalin Raceanu).
 - Fix build with wxUSE_FFILE==0 (jroemmler).
 - Add wxDEPRECATED_MSG() and use it in a few places.
+- Return the old file descriptor/pointer from wx(F)File::Detach() (troelsk).
 
 All (GUI):
 
index ae827dd785e779cf7db5225265f3f78678d26362..91a7c28ed4f65ba45c4a6f87b5ee375675bd1931 100644 (file)
@@ -49,7 +49,7 @@ public:
   // assign an existing file descriptor and get it back from wxFFile object
   void Attach(FILE *lfp, const wxString& name = wxEmptyString)
     { Close(); m_fp = lfp; m_name = name; }
-  void Detach() { m_fp = NULL; }
+  FILE* Detach() { FILE* fpOld = m_fp; m_fp = NULL; return fpOld; }
   FILE *fp() const { return m_fp; }
 
   // read/write (unbuffered)
index b2cd59eab09b95a9a636d7eb730bd0c415795661..00ac471abf890cec17b8172f6025abdfa9b7365b 100644 (file)
@@ -65,7 +65,7 @@ public:
 
   // assign an existing file descriptor and get it back from wxFile object
   void Attach(int lfd) { Close(); m_fd = lfd; m_lasterror = 0; }
-  void Detach()       { m_fd = fd_invalid;  }
+  int  Detach() { int fdOld = m_fd; m_fd = fd_invalid; return fdOld; }
   int  fd() const { return m_fd; }
 
   // read/write (unbuffered)
index 5671e2e53109a23042ce950347e0f56ff71fe7b6..ada146d3438dd48351e1b694ac7729c3293a2bc6 100644 (file)
@@ -76,8 +76,11 @@ public:
         closing the file if this descriptor is opened.
 
         IsOpened() will return @false after call to Detach().
+
+        @return The FILE pointer (this is new since wxWidgets 3.0.0, in the
+        previous versions this method didn't return anything).
     */
-    void Detach();
+    FILE* Detach();
 
     /**
         Returns @true if an attempt has been made to read @e past
index 8eeab558c57d02aa110de78d4de886c604d1cd96..31ea6bdd4f9c26311a59d309b3aff0951c2096dc 100644 (file)
@@ -295,8 +295,11 @@ public:
         Get back a file descriptor from wxFile object - the caller is responsible for
         closing the file if this descriptor is opened.
         IsOpened() will return @false after call to Detach().
+
+        @return The file descriptor (this is new since wxWidgets 3.0.0, in the
+        previous versions this method didn't return anything).
     */
-    void Detach();
+    int Detach();
 
     /**
         Returns @true if the end of the file has been reached.