]> git.saurik.com Git - apt.git/blobdiff - methods/gzip.cc
* methods/gzip.cc:
[apt.git] / methods / gzip.cc
index 35501cb0ae934e1b36695b50ec12c4a64493857e..55ff332701b94105de7cc6207b4a4d59e3db7bd2 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: gzip.cc,v 1.17 2003/02/10 07:34:41 doogie Exp $
+// $Id: gzip.cc,v 1.17.2.1 2004/01/16 18:58:50 mdz Exp $
 /* ######################################################################
 
    GZip method - Take a file URI in and decompress it into the target 
@@ -9,7 +9,6 @@
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
-#include <apti18n.h>
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/acquire-method.h>
@@ -21,6 +20,7 @@
 #include <utime.h>
 #include <stdio.h>
 #include <errno.h>
+#include <apti18n.h>
                                                                        /*}}}*/
 
 const char *Prog;
@@ -57,7 +57,7 @@ bool GzipMethod::Fetch(FetchItem *Itm)
       return _error->Errno("pipe",_("Couldn't open pipe for %s"),Prog);
 
    // Fork gzip
-   int Process = ExecFork();
+   pid_t Process = ExecFork();
    if (Process == 0)
    {
       close(GzOut[0]);
@@ -111,6 +111,7 @@ bool GzipMethod::Fetch(FetchItem *Itm)
       if (To.Write(Buffer,Count) == false)
       {
         Failed = true;
+        FromGz.Close();
         break;
       }      
    }
@@ -154,6 +155,8 @@ bool GzipMethod::Fetch(FetchItem *Itm)
 
 int main(int argc, char *argv[])
 {
+   setlocale(LC_ALL, "");
+
    GzipMethod Mth;
 
    Prog = strrchr(argv[0],'/');