summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog9
-rw-r--r--methods/gzip.cc7
2 files changed, 15 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index 385c8ca23..a828d02c1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+apt (0.6.46.1) unstable; urgency=low
+
+ * methods/gzip.cc:
+ - deal with empty files
+
+ --
+
apt (0.6.46) unstable; urgency=low
* debian/control:
@@ -32,7 +39,7 @@ apt (0.6.46) unstable; urgency=low
- reverted MMap use in the tagfile because it does not work
across pipes (closes: #383487)
- --
+ -- Michael Vogt <mvo@debian.org> Thu, 21 Sep 2006 10:25:03 +0200
apt (0.6.45) unstable; urgency=low
diff --git a/methods/gzip.cc b/methods/gzip.cc
index 55ff33270..a8e816bf3 100644
--- a/methods/gzip.cc
+++ b/methods/gzip.cc
@@ -52,6 +52,13 @@ bool GzipMethod::Fetch(FetchItem *Itm)
// Open the source and destination files
FileFd From(Path,FileFd::ReadOnly);
+ // if the file is empty, just rename it and return
+ if(From.Size() == 0)
+ {
+ Rename(Path, Itm->DestFile);
+ return true;
+ }
+
int GzOut[2];
if (pipe(GzOut) < 0)
return _error->Errno("pipe",_("Couldn't open pipe for %s"),Prog);