X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffile_group.cc;h=c2ff047af3d955c539384a5ed8105b977aa2c4cb;hb=72b11d5eb036651b6ff68edf3ed270e8fc52960f;hp=54ec8280c0a6830da2a671137dc7a4f45336b61b;hpb=4e411ea97b4dab8a5fa282d1d4cf7971ef1e24ad;p=dcpomatic.git diff --git a/src/lib/file_group.cc b/src/lib/file_group.cc index 54ec8280c..c2ff047af 100644 --- a/src/lib/file_group.cc +++ b/src/lib/file_group.cc @@ -1,19 +1,20 @@ /* Copyright (C) 2013-2014 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ @@ -26,6 +27,7 @@ #include "file_group.h" #include "exceptions.h" #include "cross.h" +#include using std::vector; using std::cout; @@ -82,7 +84,7 @@ FileGroup::ensure_open_path (size_t p) const /* Already open */ return; } - + if (_current_file) { fclose (_current_file); } @@ -90,7 +92,7 @@ FileGroup::ensure_open_path (size_t p) const _current_path = p; _current_file = fopen_boost (_paths[_current_path], "rb"); if (_current_file == 0) { - throw OpenFileError (_paths[_current_path]); + throw OpenFileError (_paths[_current_path], errno, true); } } @@ -111,9 +113,9 @@ FileGroup::seek (int64_t pos, int whence) const } #ifdef DCPOMATIC_WINDOWS full_pos += _ftelli64 (_current_file); -#else +#else full_pos += ftell (_current_file); -#endif +#endif full_pos += pos; break; case SEEK_END: @@ -151,7 +153,7 @@ int FileGroup::read (uint8_t* buffer, int amount) const { int read = 0; - while (1) { + while (true) { int const this_time = fread (buffer + read, 1, amount - read, _current_file); read += this_time; if (read == amount) {