diff options
Diffstat (limited to 'src/libcrawler/SpoolRewindInputStream.cpp')
-rw-r--r-- | src/libcrawler/SpoolRewindInputStream.cpp | 13 |
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 ); |