X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fconsole.cpp;h=259f80fbdf5ca21802099d9108c779f1bb9c0f53;hp=d06b894e10dda771f11773999b18e8ee92c2d204;hb=5b541316a8c7bbf8b812c0f1e2dbebaa6563b0ee;hpb=69c5a20bb9ddc75686387d3fa9b7503caef613cc diff --git a/source/io/console.cpp b/source/io/console.cpp index d06b894..259f80f 100644 --- a/source/io/console.cpp +++ b/source/io/console.cpp @@ -1,5 +1,6 @@ #ifndef WIN32 #include +#include #include #include #include @@ -125,6 +126,16 @@ void Console::get_size(unsigned &rows, unsigned &cols) #endif } +void Console::redirect(Base &other) +{ + Handle other_handle = other.get_handle(mode&M_RDWR); +#ifdef WIN32 + SetStdHandle(stream_to_sys(stream), *other_handle); +#else + dup2(*other_handle, *handle); +#endif +} + unsigned Console::do_write(const char *buf, unsigned len) { check_access(M_WRITE);