aboutsummaryrefslogtreecommitdiffstats
path: root/libdevcore
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-10-18 19:54:47 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-10-18 19:56:11 +0800
commit6f2865228cb02f0ba0b58990a9d3006dbe2692c6 (patch)
tree8b243e672f2bd2f495215119fd5ee02c4d5c8430 /libdevcore
parent7186e142b8ea546d98dc8ddb630da47362be8b0a (diff)
downloaddexon-solidity-6f2865228cb02f0ba0b58990a9d3006dbe2692c6.tar.gz
dexon-solidity-6f2865228cb02f0ba0b58990a9d3006dbe2692c6.tar.zst
dexon-solidity-6f2865228cb02f0ba0b58990a9d3006dbe2692c6.zip
Add readStandardInput helper
Diffstat (limited to 'libdevcore')
-rw-r--r--libdevcore/CommonIO.cpp14
-rw-r--r--libdevcore/CommonIO.h3
2 files changed, 17 insertions, 0 deletions
diff --git a/libdevcore/CommonIO.cpp b/libdevcore/CommonIO.cpp
index eb7af83e..8c7e08f6 100644
--- a/libdevcore/CommonIO.cpp
+++ b/libdevcore/CommonIO.cpp
@@ -66,6 +66,20 @@ string dev::readFileAsString(string const& _file)
return readFile<string>(_file);
}
+string dev::readStandardInput()
+{
+ string ret;
+ while (!cin.eof())
+ {
+ string tmp;
+ // NOTE: this will read until EOF or NL
+ getline(cin, tmp);
+ ret.append(tmp);
+ ret.append("\n");
+ }
+ return ret;
+}
+
void dev::writeFile(std::string const& _file, bytesConstRef _data, bool _writeDeleteRename)
{
namespace fs = boost::filesystem;
diff --git a/libdevcore/CommonIO.h b/libdevcore/CommonIO.h
index 0c702818..33769ec3 100644
--- a/libdevcore/CommonIO.h
+++ b/libdevcore/CommonIO.h
@@ -34,6 +34,9 @@ namespace dev
/// If the file doesn't exist or isn't readable, returns an empty container / bytes.
std::string readFileAsString(std::string const& _file);
+/// Retrieve and returns the contents of standard input (until EOF).
+std::string readStandardInput();
+
/// Write the given binary data into the given file, replacing the file if it pre-exists.
/// Throws exception on error.
/// @param _writeDeleteRename useful not to lose any data: If set, first writes to another file in