Skip to content

Commit f6e1362

Browse files
committed
Don't file-open stdin
1 parent e579c05 commit f6e1362

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

source/io.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -884,10 +884,14 @@ class source
884884
{
885885
// If filename is stdin, we read from stdin, otherwise we try to read the file
886886
//
887-
std::ifstream fss{ filename };
888-
std::istream& in = filename == "stdin" ? std::cin : fss;
889-
if (filename != "stdin" && !fss.is_open())
890-
return false;
887+
auto is_stdin = filename == "stdin";
888+
std::ifstream fss;
889+
if (is_stdin)
890+
{
891+
fss.open(filename);
892+
if( !fss.is_open()) { return false; }
893+
}
894+
std::istream& in = is_stdin ? std::cin : fss;
891895

892896
auto in_comment = false;
893897
auto in_string_literal = false;

0 commit comments

Comments
 (0)