X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fseekable.cpp;h=6bc84855541c6f0974eb3c8ba29405fb67d8febd;hp=101676e0ef304a5d56efada803808d3e990b5065;hb=HEAD;hpb=86e0004bd195bc7f7478cf736871339bddf38127 diff --git a/source/io/seekable.cpp b/source/io/seekable.cpp index 101676e..6bc8485 100644 --- a/source/io/seekable.cpp +++ b/source/io/seekable.cpp @@ -1,7 +1,4 @@ -#ifdef WIN32 -#include -#endif -#include +#include #include "seekable.h" using namespace std; @@ -9,26 +6,12 @@ using namespace std; namespace Msp { namespace IO { -int sys_seek_type(SeekType st) -{ -#ifdef WIN32 - if(st==S_BEG) - return FILE_BEGIN; - else if(st==S_CUR) - return FILE_CURRENT; - else if(st==S_END) - return FILE_END; -#else - if(st==S_BEG) - return SEEK_SET; - else if(st==S_CUR) - return SEEK_CUR; - else if(st==S_END) - return SEEK_END; -#endif - - throw invalid_argument("sys_seek_type"); -} +bad_seek::bad_seek(SeekOffset offset, SeekType type): + runtime_error(type==S_BEG ? lexical_cast(offset) : + type==S_CUR ? format("CUR%+d", offset) : + type==S_END ? format("END%+d", offset) : + format("SeekType(%d)", type)) +{ } } // namespace IO } // namespace Msp