]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/file.cpp
Add move semantics to Variant
[libs/core.git] / source / io / file.cpp
index 74b9f9fde19e49983e35098ea06c0c6c80bcfd0e..7d6e1f9b8df12feee60d3eae53b532db13ae55e0 100644 (file)
@@ -1,3 +1,4 @@
+#include <msp/core/except.h>
 #include "file.h"
 #include "handle_private.h"
 
@@ -38,7 +39,7 @@ void File::set_inherit(bool i)
        sys_set_inherit(handle, i);
 }
 
-unsigned File::do_write(const char *buf, unsigned size)
+size_t File::do_write(const char *buf, size_t size)
 {
        check_access(M_WRITE);
 
@@ -53,14 +54,14 @@ unsigned File::do_write(const char *buf, unsigned size)
        return sys_write(handle, buf, size);
 }
 
-unsigned File::do_read(char *buf, unsigned size)
+size_t File::do_read(char *buf, size_t size)
 {
        check_access(M_READ);
 
        if(size==0)
                return 0;
 
-       unsigned ret = sys_read(handle, buf, size);
+       size_t ret = sys_read(handle, buf, size);
        if(ret==0)
                set_eof();
 
@@ -104,26 +105,26 @@ void BufferedFile::set_block(bool b)
 
 void BufferedFile::set_inherit(bool)
 {
-       throw logic_error("BufferedFile::set_inherit");
+       throw unsupported("BufferedFile::set_inherit");
 }
 
-unsigned BufferedFile::do_write(const char *buf, unsigned size)
+size_t BufferedFile::do_write(const char *buf, size_t size)
 {
-       unsigned ret = buffer.write(buf, size);
+       size_t ret = buffer.write(buf, size);
        position += ret;
        return ret;
 }
 
-unsigned BufferedFile::do_read(char *buf, unsigned size)
+size_t BufferedFile::do_read(char *buf, size_t size)
 {
-       unsigned ret = buffer.read(buf, size);
+       size_t ret = buffer.read(buf, size);
        position += ret;
        return ret;
 }
 
-unsigned BufferedFile::put(char c)
+size_t BufferedFile::put(char c)
 {
-       unsigned ret = buffer.put(c);
+       size_t ret = buffer.put(c);
        position += ret;
        return ret;
 }
@@ -146,7 +147,7 @@ int BufferedFile::get()
 
 const Handle &BufferedFile::get_handle(Mode)
 {
-       throw logic_error("BufferedFile::get_handle");
+       throw unsupported("BufferedFile::get_handle");
 }
 
 SeekOffset BufferedFile::seek(SeekOffset offset, SeekType type)