]> git.saurik.com Git - apt.git/commitdiff
apt-pkg/contrib/fileutl.cc: Revert WriteEmpty to old behavior (LP: #613211)
authorJulian Andres Klode <jak@debian.org>
Tue, 10 Aug 2010 12:55:36 +0000 (14:55 +0200)
committerJulian Andres Klode <jak@debian.org>
Tue, 10 Aug 2010 12:55:36 +0000 (14:55 +0200)
apt-pkg/contrib/fileutl.cc
debian/changelog

index f86bf2942ea011f14059ea7547c5e40aad61f4aa..91aecee652f863f12dc97a5e2c3b28ffac45b489 100644 (file)
@@ -670,7 +670,6 @@ bool FileFd::Open(string FileName,OpenMode Mode, unsigned long Perms)
       break;
       
       case WriteAtomic:
-      case WriteEmpty:
       {
         Flags |= Replace;
         char *name = strdup((FileName + ".XXXXXX").c_str());
@@ -680,6 +679,14 @@ bool FileFd::Open(string FileName,OpenMode Mode, unsigned long Perms)
         break;
       }
 
+      case WriteEmpty:
+      {
+        struct stat Buf;
+        if (lstat(FileName.c_str(),&Buf) == 0 && S_ISLNK(Buf.st_mode))
+           unlink(FileName.c_str());
+        iFd = open(FileName.c_str(),O_RDWR | O_CREAT | O_TRUNC,Perms);
+        break;
+      }
       
       case WriteExists:
       iFd = open(FileName.c_str(),O_RDWR);
index 9f3d1df85f42e1db3ab165ff36dd13e163dfe3d2..0f3d0d499e2b6a1ef8a85ab8eccc1008c54ba930 100644 (file)
@@ -11,6 +11,7 @@ apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low
   [ Julian Andres Klode ]
   * apt-pkg/contrib/fileutl.cc:
     - Add WriteAtomic mode.
+    - Revert WriteEmpty to old behavior (LP: #613211)
   * apt-pkg/depcache.cc:
     - Only try upgrade for Breaks if there is a newer version, otherwise
       handle it as Conflicts (by removing it) (helps for #591882).