l10ntools/source/export2.cxx |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

New commits:
commit cb8f2e44c2772af90e7be12dfc8bbf167f31f56b
Author: Herbert Dürr <h...@apache.org>
Date:   Tue Jun 24 09:48:21 2014 +0000

    #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.

diff --git a/l10ntools/source/export2.cxx b/l10ntools/source/export2.cxx
index 1608a09..fb9df40 100644
--- a/l10ntools/source/export2.cxx
+++ b/l10ntools/source/export2.cxx
@@ -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::RemoveUTF8ByteOrderMarkerFromFile( const 
ByteString &rFilename ){
 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& source , const 
ByteString& dest )
         return false;
     }
 
+    static const int BUFFERSIZE = 0x100000;
+    boost::shared_ptr<char> aScopedBuffer( new char[BUFFERSIZE] );
+    char* buf = aScopedBuffer.get();
+
     bool bOk = true;
     while( bOk )
     {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to