@@ -, +, @@ FreeImage now uses LibRaw 0.20-Beta2 (GIT patch 2020-05-29) git-svn-id: https://svn.code.sf.net/p/freeimage/svn@1842 f6e0daa0-2725-47c6-9c0b-5e6e9cdd0720 --- a/Source/FreeImage/PluginRAW.cpp +++ a/Source/FreeImage/PluginRAW.cpp @@ -59,21 +59,18 @@ public: } int valid() { - return (_io && _handle); + return (_io && _handle) ? 1 : 0; } int read(void *buffer, size_t size, size_t count) { - if(substream) return substream->read(buffer, size, count); return _io->read_proc(buffer, (unsigned)size, (unsigned)count, _handle); } int seek(INT64 offset, int origin) { - if(substream) return substream->seek(offset, origin); return _io->seek_proc(_handle, (long)offset, origin); } INT64 tell() { - if(substream) return substream->tell(); return _io->tell_proc(_handle); } @@ -83,19 +80,21 @@ public: int get_char() { int c = 0; - if(substream) return substream->get_char(); - if(!_io->read_proc(&c, 1, 1, _handle)) return -1; + if (!_io->read_proc(&c, 1, 1, _handle)) { + return -1; + } return c; } char* gets(char *buffer, int length) { - if (substream) return substream->gets(buffer, length); memset(buffer, 0, length); for(int i = 0; i < length; i++) { - if(!_io->read_proc(&buffer[i], 1, 1, _handle)) + if (!_io->read_proc(&buffer[i], 1, 1, _handle)) { return NULL; - if(buffer[i] == 0x0A) + } + if (buffer[i] == 0x0A) { break; + } } return buffer; } @@ -104,7 +103,6 @@ public: std::string buffer; char element = 0; bool bDone = false; - if(substream) return substream->scanf_one(fmt,val); do { if(_io->read_proc(&element, 1, 1, _handle) == 1) { switch(element) { @@ -127,7 +125,6 @@ public: } int eof() { - if(substream) return substream->eof(); return (_io->tell_proc(_handle) >= _eof); }