summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-04-21 15:30:46 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2011-04-21 15:30:46 +0200
commitecc8d43394155ea99960f66ed35713c701801c3f (patch)
tree57e078d77bc2c5f191c128a3d4b418b1cfca839c
parent620e4e3a99917deec4833ad6035eac5b00fd8105 (diff)
* apt-pkg/deb/dpkgpm.cc:
- stop reporting of apport-package bug reports regarding dpkg I/O errors (LP: #767776)
-rw-r--r--apt-pkg/deb/dpkgpm.cc28
-rw-r--r--debian/changelog8
2 files changed, 25 insertions, 11 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index e957ce5fd..30f3b7d0f 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -1324,18 +1324,24 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg)
// do not report dpkg I/O errors, this is a format string, so we compare
// the prefix and the suffix of the error with the dpkg error message
- const char *short_read_error = dgettext("dpkg", "short read in buffer_copy %s");
- vector<string> list = VectorizeString(short_read_error, '%');
- if (list.size() > 1)
+ vector<string> io_errors;
+ io_errors.push_back(string("failed to read on buffer copy for %s"));
+ io_errors.push_back(string("failed in write on buffer copy for %s"));
+ io_errors.push_back(string("short read on buffer copy for %s"));
+
+ for (vector<string>::iterator I = io_errors.begin(); I != io_errors.end(); I++)
{
- // we need to split %s, VectorizeString only allows char so we need
- // to kill the "s" manually
- if (list[1].size() > 1) {
- list[1].erase(0, 1);
- if(strstr(errormsg, list[0].c_str()) &&
- strstr(errormsg, list[1].c_str())) {
- std::clog << _("No apport report written because the error message indicates a dpkg I/O error") << std::endl;
- return;
+ vector<string> list = VectorizeString(dgettext("dpkg", (*I).c_str()), '%');
+ if (list.size() > 1) {
+ // we need to split %s, VectorizeString only allows char so we need
+ // to kill the "s" manually
+ if (list[1].size() > 1) {
+ list[1].erase(0, 1);
+ if(strstr(errormsg, list[0].c_str()) &&
+ strstr(errormsg, list[1].c_str())) {
+ std::clog << _("No apport report written because the error message indicates a dpkg I/O error") << std::endl;
+ return;
+ }
}
}
}
diff --git a/debian/changelog b/debian/changelog
index 4a986f0a2..7d50f4f37 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+apt (0.8.13.2ubuntu3) natty-proposed; urgency=low
+
+ * apt-pkg/deb/dpkgpm.cc:
+ - stop reporting of apport-package bug reports regarding
+ dpkg I/O errors (LP: #767776)
+
+ -- Brian Murray <brian@ubuntu.com> Wed, 20 Apr 2011 15:05:12 -0700
+
apt (0.8.13.2ubuntu2) natty; urgency=low
[ Michael Vogt ]