diff options
author | Michael Vogt <egon@tas> | 2006-12-07 11:45:13 +0100 |
---|---|---|
committer | Michael Vogt <egon@tas> | 2006-12-07 11:45:13 +0100 |
commit | 207825063be51d68768e242f06b26ee6fccd3aaf (patch) | |
tree | 4c755597279d2574e787460c5d0f3bc34d132a64 /methods/gzip.cc | |
parent | 7106240056767caad5a55fe9c542842065cb5829 (diff) | |
parent | 1c05ebd6da9491d316997a98db1451f7b0526603 (diff) |
merged with apt--mvo
Diffstat (limited to 'methods/gzip.cc')
-rw-r--r-- | methods/gzip.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/methods/gzip.cc b/methods/gzip.cc index 809afc0fc..f732c0b86 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.c_str(), Itm->DestFile.c_str()); + return true; + } + int GzOut[2]; if (pipe(GzOut) < 0) return _error->Errno("pipe",_("Couldn't open pipe for %s"),Prog); @@ -111,6 +118,7 @@ bool GzipMethod::Fetch(FetchItem *Itm) if (To.Write(Buffer,Count) == false) { Failed = true; + FromGz.Close(); break; } } |