summaryrefslogtreecommitdiff
path: root/src/support
diff options
context:
space:
mode:
Diffstat (limited to 'src/support')
-rw-r--r--src/support/file.cpp12
-rw-r--r--src/support/file.h2
2 files changed, 13 insertions, 1 deletions
diff --git a/src/support/file.cpp b/src/support/file.cpp
index 19401b21d..2fe636cfd 100644
--- a/src/support/file.cpp
+++ b/src/support/file.cpp
@@ -21,6 +21,17 @@
#include <cstdint>
#include <limits>
+std::vector<char> wasm::read_stdin(Flags::DebugOption debug) {
+ if (debug == Flags::Debug) std::cerr << "Loading stdin..." << std::endl;
+ std::vector<char> input;
+ char c;
+ while (std::cin.get(c) && !std::cin.eof()) {
+ input.push_back(c);
+ }
+ return input;
+}
+
+
template<typename T>
T wasm::read_file(const std::string& filename, Flags::BinaryOption binary, Flags::DebugOption debug) {
if (debug == Flags::Debug) std::cerr << "Loading '" << filename << "'..." << std::endl;
@@ -84,4 +95,3 @@ size_t wasm::file_size(std::string filename) {
std::ifstream infile(filename, std::ifstream::ate | std::ifstream::binary);
return infile.tellg();
}
-
diff --git a/src/support/file.h b/src/support/file.h
index e94d23fad..cb9c82ca9 100644
--- a/src/support/file.h
+++ b/src/support/file.h
@@ -39,6 +39,8 @@ namespace Flags {
};
}
+std::vector<char> read_stdin(Flags::DebugOption);
+
template<typename T>
T read_file(const std::string& filename, Flags::BinaryOption binary, Flags::DebugOption debug);
// Declare the valid explicit specializations.