← Back to team overview

widelands-dev team mailing list archive

[Merge] lp:~widelands-dev/widelands/zip_file_error_messages into lp:widelands

 

GunChleoc has proposed merging lp:~widelands-dev/widelands/zip_file_error_messages into lp:widelands.

Commit message:
Added file and zip file paths to exceptions in ZipFilesystem.

Requested reviews:
  Widelands Developers (widelands-dev)

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/zip_file_error_messages/+merge/285711

Added file and zip file paths to exceptions in ZipFilesystem.
-- 
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/zip_file_error_messages into lp:widelands.
=== modified file 'src/io/filesystem/zip_filesystem.cc'
--- src/io/filesystem/zip_filesystem.cc	2016-02-06 15:58:10 +0000
+++ src/io/filesystem/zip_filesystem.cc	2016-02-11 12:26:37 +0000
@@ -251,10 +251,15 @@
  */
 FileSystem * ZipFilesystem::make_sub_file_system(const std::string & path) {
 	if (!file_exists(path)) {
-		throw wexception("ZipFilesystem::make_sub_file_system: The path does not exist.");
+		throw wexception("ZipFilesystem::make_sub_file_system: The path '%s' does not exist in zip file '%s'.",
+							  path.c_str(),
+							  zip_file_->path().c_str());
 	}
 	if (!is_directory(path)) {
-		throw wexception("ZipFilesystem::make_sub_file_system: The path needs to be a directory.");
+		throw wexception("ZipFilesystem::make_sub_file_system: "
+							  "The path '%s' needs to be a directory in zip file '%s'.",
+							  path.c_str(),
+							  zip_file_->path().c_str());
 	}
 
 	std::string localpath = path;
@@ -431,10 +436,11 @@
 		break;
 	case ZIP_ERRNO:
 		throw FileError
-			("ZipFilesystem::write", complete_filename, strerror(errno));
+			("ZipFilesystem::write", complete_filename,
+			 (boost::format("in path '%s'', Error") % zip_file_->path() % strerror(errno)).str());
 	default:
 		throw FileError
-			("ZipFilesystem::write", complete_filename);
+			("ZipFilesystem::write", complete_filename, (boost::format("in path '%s'") % zip_file_->path()).str());
 	}
 
 	zipCloseFileInZip(zip_file_->write_handle());
@@ -512,10 +518,10 @@
 {
 	int copied = unzReadCurrentFile(zip_file_->read_handle(), read_data, bufsize);
 	if (copied < 0) {
-		throw new DataError("Failed to read from zip file");
+		throw new DataError("Failed to read from zip file %s", zip_file_->path().c_str());
 	}
 	if (copied == 0) {
-		throw new DataError("End of file reaced while reading zip");
+		throw new DataError("End of file reaced while reading zip %s", zip_file_->path().c_str());
 	}
 	return copied;
 }
@@ -539,6 +545,6 @@
 		case ZIP_OK:
 			break;
 		default:
-			throw wexception("Failed to write into zipfile");
+			throw wexception("Failed to write into zipfile %S", zip_file_->path().c_str());
 	}
 }


Follow ups