Author: hdu
Date: Tue Jun 24 09:48:21 2014
New Revision: 1605044

URL: http://svn.apache.org/r1605044
Log:
#i125143# reduce helpex stack usage to prevent intermittent failures

moving the 1MB copy buffer from the stack to the heap solves the problem
that was first observed on the Windows buildbot.

Modified:
    openoffice/trunk/main/l10ntools/source/export2.cxx

Modified: openoffice/trunk/main/l10ntools/source/export2.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/l10ntools/source/export2.cxx?rev=1605044&r1=1605043&r2=1605044&view=diff
==============================================================================
--- openoffice/trunk/main/l10ntools/source/export2.cxx (original)
+++ openoffice/trunk/main/l10ntools/source/export2.cxx Tue Jun 24 09:48:21 2014
@@ -36,6 +36,7 @@
 #include <tools/urlobj.hxx>
 #include <time.h>
 #include <stdlib.h>
+#include <boost/shared_ptr.hpp>
 
 using namespace std;
 //
@@ -339,9 +340,6 @@ void Export::RemoveUTF8ByteOrderMarkerFr
 bool Export::CopyFile( const ByteString& source , const ByteString& dest )
 {
 //    cout << "CopyFile( " << source.GetBuffer() << " , " << dest.GetBuffer() 
<< " )\n";
-    static const int BUFFERSIZE = 0x100000;
-    char buf[ BUFFERSIZE ];
-
     FILE* IN_FILE = fopen( source.GetBuffer() , "r" );
     if( IN_FILE == NULL )
     {
@@ -357,6 +355,10 @@ bool Export::CopyFile( const ByteString&
         return false;
     }
 
+    static const int BUFFERSIZE = 0x100000;
+    boost::shared_ptr<char> aScopedBuffer( new char[BUFFERSIZE] );
+    char* buf = aScopedBuffer.get();
+
     bool bOk = true;
     while( bOk )
     {


Reply via email to