From 88ac8da9c4ab776b924b33f3b137ebc2f8e7a6d1 Mon Sep 17 00:00:00 2001 From: nkindlon <nek3d@virginia.edu> Date: Mon, 14 Oct 2013 21:41:27 -0400 Subject: [PATCH] added fifo handling --- src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp | 5 +++++ src/utils/FileRecordTools/FileReaders/InputStreamMgr.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp b/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp index 31390265..9711a292 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 4e22c31e..df21ce34 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(); -- GitLab