]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/console.cpp
Unify end-of-file handling
[libs/core.git] / source / io / console.cpp
index 442bbb0f7dc0dbcd70b1cd0da62e74f247f8c162..4d686db1aafb5ec33dc74ad2cd212a5a84d0c853 100644 (file)
@@ -68,8 +68,7 @@ void Console::set_block(bool b)
 
 void Console::set_local_echo(bool e)
 {
-       if(!(mode&M_READ))
-               throw invalid_access(M_READ);
+       check_access(M_READ);
 
 #ifdef WIN32
        DWORD m;
@@ -85,8 +84,7 @@ void Console::set_local_echo(bool e)
 
 void Console::set_line_buffer(bool l)
 {
-       if(!(mode&M_READ))
-               throw invalid_access(M_READ);
+       check_access(M_READ);
 
 #ifdef WIN32
        DWORD m;
@@ -103,8 +101,7 @@ void Console::set_line_buffer(bool l)
 
 void Console::get_size(unsigned &rows, unsigned &cols)
 {
-       if(!(mode&M_WRITE))
-               throw invalid_access(M_WRITE);
+       check_access(M_WRITE);
 
 #ifdef WIN32
        // XXX Figure out how to do this
@@ -120,20 +117,18 @@ void Console::get_size(unsigned &rows, unsigned &cols)
 
 unsigned Console::do_write(const char *buf, unsigned len)
 {
-       if(!(mode&M_WRITE))
-               throw invalid_access(M_WRITE);
+       check_access(M_WRITE);
 
        return sys_write(handle, buf, len);
 }
 
 unsigned Console::do_read(char *buf, unsigned len)
 {
-       if(!(mode&M_READ))
-               throw invalid_access(M_READ);
+       check_access(M_READ);
 
        unsigned ret = sys_read(handle, buf, len);
        if(ret==0)
-               eof_flag = true;
+               set_eof();
 
        return ret;
 }