diff --git a/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp b/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp index 3139026505e4ad997ee58dd12c24892a36098b6b..9711a292100dfb87cf4ec9ce6961915370dbd659 100644 --- a/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp +++ b/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp @@ -10,6 +10,8 @@ #include "gzstream.h" #include "CompressionTools.h" +const char *InputStreamMgr::FIFO_STRING_LITERAL = "/dev/fd"; + InputStreamMgr::InputStreamMgr(const QuickString &filename, bool buildScanBuffer) : _filename(filename), @@ -55,6 +57,9 @@ bool InputStreamMgr::init() } _pushBackStreamBuf = new PushBackStreamBuf(cin.rdbuf()); } else { + if (strncmp(_filename.c_str(), FIFO_STRING_LITERAL, strlen(FIFO_STRING_LITERAL)) == 0) { + _isStdin = true; + } _inputFileStream = new ifstream(_filename.c_str()); if (_inputFileStream->fail()) { cerr << "Error: Unable to open file " << _filename << ". Exiting." << endl; diff --git a/src/utils/FileRecordTools/FileReaders/InputStreamMgr.h b/src/utils/FileRecordTools/FileReaders/InputStreamMgr.h index 4e22c31ed19a01bf9f3edc8316c9faebd56f782e..df21ce34c2388a1906f644f8e63b95f76ade4e32 100644 --- a/src/utils/FileRecordTools/FileReaders/InputStreamMgr.h +++ b/src/utils/FileRecordTools/FileReaders/InputStreamMgr.h @@ -52,6 +52,8 @@ private: static const int SCAN_BUFFER_SIZE = 4096; // 4 K buffer static const int MIN_SCAN_BUFFER_SIZE = 2048; int _numBytesInBuffer; //this will hold the length of the buffer after the scan. + + static const char *FIFO_STRING_LITERAL; bool bamDetected(int numChars, int currChar); void decompressBuffer();