]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/console.cpp
Add move semantics to Variant
[libs/core.git] / source / io / console.cpp
index aee02e262d08609964c8b818b5a49ae7996b8661..0ac05c6b8c9fd08c0d813ed45d4435c15384b84e 100644 (file)
@@ -18,21 +18,28 @@ Console::Console(Stream s):
 
 void Console::set_block(bool b)
 {
+       adjust_mode(mode, M_NONBLOCK, !b);
        sys_set_blocking(handle, b);
 }
 
-unsigned Console::do_write(const char *buf, unsigned len)
+void Console::set_inherit(bool i)
+{
+       adjust_mode(mode, M_INHERIT, i);
+       sys_set_inherit(handle, i);
+}
+
+size_t Console::do_write(const char *buf, size_t len)
 {
        check_access(M_WRITE);
 
        return sys_write(handle, buf, len);
 }
 
-unsigned Console::do_read(char *buf, unsigned len)
+size_t Console::do_read(char *buf, size_t len)
 {
        check_access(M_READ);
 
-       unsigned ret = sys_read(handle, buf, len);
+       size_t ret = sys_read(handle, buf, len);
        if(ret==0)
                set_eof();
 
@@ -61,9 +68,5 @@ Console &Console::instance(Stream s)
        throw invalid_argument("Console::instance");
 }
 
-Console &cin = Console::instance(Console::CIN);
-Console &cout = Console::instance(Console::COUT);
-Console &cerr = Console::instance(Console::CERR);
-
 } // namespace IO
 } // namespace Msp