changed "void FileStorage::release(string&)" to "string FileStorage::releaseAndGetStr...
authorVadim Pisarevsky <no@email>
Wed, 30 May 2012 13:02:45 +0000 (13:02 +0000)
committerVadim Pisarevsky <no@email>
Wed, 30 May 2012 13:02:45 +0000 (13:02 +0000)
modules/core/include/opencv2/core/core.hpp
modules/core/src/persistence.cpp
modules/core/test/test_io.cpp

index 41e6b72..1e005c3 100644 (file)
@@ -3978,7 +3978,7 @@ public:
     //! closes the file and releases all the memory buffers
     CV_WRAP virtual void release();
     //! closes the file, releases all the memory buffers and returns the text string    
-    CV_WRAP_AS(releaseAndGetString) virtual void release(CV_OUT string& buf);
+    CV_WRAP virtual string releaseAndGetString();
 
     //! returns the first element of the top-level mapping
     CV_WRAP FileNode getFirstTopLevelNode() const;
index 7d1d586..8baa7e2 100644 (file)
@@ -5161,16 +5161,16 @@ void FileStorage::release()
     state = UNDEFINED;
 }
 
-void FileStorage::release(string& buf)
+string FileStorage::releaseAndGetString()
 {
+       string buf;
     if( fs.obj && fs.obj->outbuf )
         icvClose(fs.obj, &buf);
-    else
-        buf.clear();
     
     fs.release();
     structs.clear();
     state = UNDEFINED;
+       return buf;
 }    
     
 FileNode FileStorage::root(int streamidx) const
index 150bdd1..f290bab 100644 (file)
@@ -180,8 +180,7 @@ protected:
             fs.writeObj("test_graph",graph);
             CvGraph* graph2 = (CvGraph*)cvClone(graph);
             
-            string content;
-            fs.release(content);
+            string content = fs.releaseAndGetString();
             
             if(!fs.open(mem ? content : filename, FileStorage::READ + (mem ? FileStorage::MEMORY : 0)))
             {