* apt-pkg/contrib/fileutl.cc:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Mon, 14 Feb 2011 16:03:35 +0000 (17:03 +0100)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Mon, 14 Feb 2011 16:03:35 +0000 (17:03 +0100)
  - really detect bigendian machines by including config.h,
    so we can really (Closes: #612986)
* apt-pkg/contrib/mmap.cc:
  - Base has as 'valid' failure states 0 and -1 so add a simple
    validData method to check for failure states

apt-pkg/contrib/fileutl.cc
apt-pkg/contrib/mmap.cc
apt-pkg/contrib/mmap.h
debian/changelog
methods/rred.cc

index 24e3f08..767951d 100644 (file)
@@ -43,7 +43,8 @@
 #include <set>
 #include <algorithm>
 
-#ifndef WORDS_BIGENDIAN
+#include <config.h>
+#ifdef WORDS_BIGENDIAN
 #include <inttypes.h>
 #endif
                                                                        /*}}}*/
index 4978446..9945b16 100644 (file)
@@ -106,7 +106,7 @@ bool MMap::Map(FileFd &Fd)
 /* */
 bool MMap::Close(bool DoSync)
 {
-   if ((Flags & UnMapped) == UnMapped || Base == 0 || iSize == 0)
+   if ((Flags & UnMapped) == UnMapped || validData() == false || iSize == 0)
       return true;
    
    if (DoSync == true)
@@ -266,7 +266,7 @@ DynamicMMap::~DynamicMMap()
 {
    if (Fd == 0)
    {
-      if (Base == 0)
+      if (validData() == false)
         return;
 #ifdef _POSIX_MAPPED_FILES
       munmap(Base, WorkSpace);
index e9baa93..2bf2c15 100644 (file)
@@ -62,6 +62,7 @@ class MMap
    inline void *Data() {return Base;}; 
    inline unsigned long Size() {return iSize;};
    inline void AddSize(unsigned long const size) {iSize += size;};
+   inline bool validData() const { return Base != (void *)-1 && Base != 0; };
    
    // File manipulators
    bool Sync();
index 8e05f12..99eb478 100644 (file)
@@ -1,3 +1,15 @@
+apt (0.8.11.3) UNRELEASED; urgency=low
+
+  [ David Kalnischkies ]
+  * apt-pkg/contrib/fileutl.cc:
+    - really detect bigendian machines by including config.h,
+      so we can really (Closes: #612986)
+  * apt-pkg/contrib/mmap.cc:
+    - Base has as 'valid' failure states 0 and -1 so add a simple
+      validData method to check for failure states
+
+ -- David Kalnischkies <kalnischkies@gmail.com>  Mon, 14 Feb 2011 16:58:03 +0100
+
 apt (0.8.11.2) unstable; urgency=low
 
   [ Michael Vogt ]
index 9ad0e44..849973e 100644 (file)
@@ -256,7 +256,7 @@ RredMethod::State RredMethod::patchMMap(FileFd &Patch, FileFd &From,                /*{{{*/
        if (Patch.gzFd() != NULL) {
                unsigned long mapSize = Patch.Size();
                DynamicMMap* dyn = new DynamicMMap(0, mapSize, 0);
-               if (dyn->Data() == 0) {
+               if (dyn->validData() == false) {
                        delete dyn;
                        return MMAP_FAILED;
                }