]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/fileutl.cc
DumpAvail works and apt-cache is complete
[apt.git] / apt-pkg / contrib / fileutl.cc
index 1b087696df0f70f7f7568278522faec5580ae066..6f515fd670acf78f78e4795ac27c6f7dcd00ffd7 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: fileutl.cc,v 1.4 1998/07/12 23:58:48 jgg Exp $
+// $Id: fileutl.cc,v 1.5 1998/07/15 05:56:43 jgg Exp $
 /* ######################################################################
    
    File Utilities
@@ -113,7 +113,7 @@ string SafeGetCWD()
 /* The most commonly used open mode combinations are given with Mode */
 File::File(string FileName,OpenMode Mode, unsigned long Perms)
 {
-   Flags = 0;
+   Flags = AutoClose;
    switch (Mode)
    {
       case ReadOnly:
@@ -205,9 +205,10 @@ bool File::Close()
 {
    bool Res = true;
    if ((Flags & AutoClose) == AutoClose)
-      if (close(iFd) != 0)
+      if (iFd >= 0 && close(iFd) != 0)
         Res &= _error->Errno("close","Problem closing the file");
-      
+   iFd = -1;
+   
    if ((Flags & Fail) == Fail && (Flags & DelOnFail) == DelOnFail &&
        FileName.empty() == false)
       if (unlink(FileName.c_str()) != 0)