summaryrefslogtreecommitdiff
path: root/src/libcrawler/SpoolRewindInputStream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcrawler/SpoolRewindInputStream.cpp')
-rw-r--r--src/libcrawler/SpoolRewindInputStream.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libcrawler/SpoolRewindInputStream.cpp b/src/libcrawler/SpoolRewindInputStream.cpp
index 7108cc9..6d04e4d 100644
--- a/src/libcrawler/SpoolRewindInputStream.cpp
+++ b/src/libcrawler/SpoolRewindInputStream.cpp
@@ -5,6 +5,13 @@
#include <cstring>
#include <cassert>
+// TODO: thread-safe and platform-conformant name of spool file
+#ifndef _WIN32
+#define SPOOL_FILE_NAME "/tmp/spool.tmp"
+#else
+#define SPOOL_FILE_NAME "C:\\TEMP\\SPOOL.TMP"
+#endif
+
using namespace std;
spool_streambuf::spool_streambuf( size_t bufSize, size_t putBack, size_t spoolBufSize )
@@ -29,7 +36,7 @@ spool_streambuf::~spool_streambuf( )
case TO_SPOOL_FILE:
case FROM_SPOOL_FILE:
m_spoolFile.close( );
- (void)remove( "/tmp/spool.tmp" );
+ (void)remove( SPOOL_FILE_NAME );
break;
}
}
@@ -70,7 +77,7 @@ void spool_streambuf::spoolData( char *data, size_t n )
// ..otherwise start spooling to disk, write
// current memory spool buffer first..
LOG( logWARNING ) << "Spooling spool buffer exceeded (>" << m_spoolBufSize << ")";
- m_spoolFile.open( "/tmp/spool.tmp", ios::binary | ios::out | ios::trunc );
+ m_spoolFile.open( SPOOL_FILE_NAME, ios::binary | ios::out | ios::trunc );
assert( m_spoolFile.good( ) );
m_spoolFile.write( &m_spoolBuf.front( ), m_spoolBufSize );
assert( m_spoolFile.good( ) );
@@ -176,7 +183,7 @@ void spool_streambuf::rewind( )
case TO_SPOOL_FILE:
m_spoolFile.close( );
- m_spoolFile.open( "/tmp/spool.tmp", ios::binary | ios::in );
+ m_spoolFile.open( SPOOL_FILE_NAME, ios::binary | ios::in );
m_spoolFile.seekg( 0, ios::end );
m_spoolBufSize = m_spoolFile.tellg( );
m_spoolFile.seekg( 0, ios::beg );