From c1811a8a6bec2b022730e6c6442c92f61e6249dc Mon Sep 17 00:00:00 2001
From: Aaron <aaronquinlan@gmail.com>
Date: Wed, 31 Aug 2011 14:40:46 -0400
Subject: [PATCH] now allow "-" as well as "stdin".

---
 src/utils/BamTools/src/api/internal/BgzfStream_p.cpp | 6 +++---
 src/utils/bedFile/bedFile.cpp                        | 2 +-
 src/utils/bedFilePE/bedFilePE.cpp                    | 2 +-
 src/utils/bedGraphFile/bedGraphFile.cpp              | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/utils/BamTools/src/api/internal/BgzfStream_p.cpp b/src/utils/BamTools/src/api/internal/BgzfStream_p.cpp
index aba2a078..e1103253 100644
--- a/src/utils/BamTools/src/api/internal/BgzfStream_p.cpp
+++ b/src/utils/BamTools/src/api/internal/BgzfStream_p.cpp
@@ -253,15 +253,15 @@ bool BgzfStream::Open(const string& filename, const char* mode) {
     }
 
     // open BGZF stream on a file
-    if ( (filename != "stdin") && (filename != "stdout") )
+    if ( (filename != "stdin") && (filename != "stdout") && (filename != "-") )
         Stream = fopen(filename.c_str(), mode);
 
     // open BGZF stream on stdin
-    else if ( (filename == "stdin") && (strcmp(mode, "rb") == 0 ) )
+    else if ( (filename == "stdin" || filename == "-") && (strcmp(mode, "rb") == 0 ) )
         Stream = freopen(NULL, mode, stdin);
 
     // open BGZF stream on stdout
-    else if ( (filename == "stdout") && (strcmp(mode, "wb") == 0) )
+    else if ( (filename == "stdout" || filename == "-") && (strcmp(mode, "wb") == 0) )
         Stream = freopen(NULL, mode, stdout);
 
     if ( !Stream ) {
diff --git a/src/utils/bedFile/bedFile.cpp b/src/utils/bedFile/bedFile.cpp
index c6c9afd7..43ca3de2 100644
--- a/src/utils/bedFile/bedFile.cpp
+++ b/src/utils/bedFile/bedFile.cpp
@@ -129,7 +129,7 @@ void BedFile::Open(void) {
     
     _bedFields.reserve(12);
     
-    if (bedFile == "stdin") {
+    if (bedFile == "stdin" || bedFile == "-") {
         _bedStream = &cin;
     }
     // New method thanks to Assaf Gordon
diff --git a/src/utils/bedFilePE/bedFilePE.cpp b/src/utils/bedFilePE/bedFilePE.cpp
index f9cd5d22..e1b84b3f 100644
--- a/src/utils/bedFilePE/bedFilePE.cpp
+++ b/src/utils/bedFilePE/bedFilePE.cpp
@@ -25,7 +25,7 @@ BedFilePE::~BedFilePE(void) {
 }
 
 void BedFilePE::Open(void) {
-    if (bedFile == "stdin") {
+    if (bedFile == "stdin" || bedFile == "-") {
         _bedStream = &cin;
     }
     else {
diff --git a/src/utils/bedGraphFile/bedGraphFile.cpp b/src/utils/bedGraphFile/bedGraphFile.cpp
index 44b87bf9..df73d8c5 100644
--- a/src/utils/bedGraphFile/bedGraphFile.cpp
+++ b/src/utils/bedGraphFile/bedGraphFile.cpp
@@ -27,7 +27,7 @@ BedGraphFile::~BedGraphFile() {
 
 // Open the BEDGRAPH file
 void BedGraphFile::Open() {
-    if (bedGraphFile == "stdin") {
+    if (bedGraphFile == "stdin" || bedGraphFile == "-") {
         _bedGraphStream = &cin;
         return;
     }
-- 
GitLab