From ea3bd5c488946665078a2a9830acdd92dc62c3a0 Mon Sep 17 00:00:00 2001 From: David Rose Date: Mon, 26 Aug 2002 18:25:29 +0000 Subject: [PATCH] error code if failure while extracting --- panda/src/downloader/extractor.cxx | 18 ++++++++++++------ panda/src/downloader/extractor.h | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/panda/src/downloader/extractor.cxx b/panda/src/downloader/extractor.cxx index 93ed0bc169..b3abec5878 100644 --- a/panda/src/downloader/extractor.cxx +++ b/panda/src/downloader/extractor.cxx @@ -158,13 +158,13 @@ step() { } _subfile_index = _requests[_request_index]; - Filename subfile_filename(_extract_dir, - _multifile.get_subfile_name(_subfile_index)); - subfile_filename.set_binary(); - subfile_filename.make_dir(); - if (!subfile_filename.open_write(_write)) { + _subfile_filename = Filename(_extract_dir, + _multifile.get_subfile_name(_subfile_index)); + _subfile_filename.set_binary(); + _subfile_filename.make_dir(); + if (!_subfile_filename.open_write(_write)) { downloader_cat.error() - << "Unable to write to " << subfile_filename << ".\n"; + << "Unable to write to " << _subfile_filename << ".\n"; reset(); return EU_error_abort; } @@ -202,6 +202,12 @@ step() { } _write.put(byte); } + if (!_write) { + downloader_cat.error() + << "Error writing to " << _subfile_filename << ".\n"; + reset(); + return EU_error_abort; + } _subfile_pos += max_bytes; } diff --git a/panda/src/downloader/extractor.h b/panda/src/downloader/extractor.h index 38b1e9e762..655ce9a1ec 100644 --- a/panda/src/downloader/extractor.h +++ b/panda/src/downloader/extractor.h @@ -73,6 +73,7 @@ private: size_t _subfile_length; istream *_read; ofstream _write; + Filename _subfile_filename; }; #include "extractor.I"