]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/error.cc
rework cachesets API to allow future extension
[apt.git] / apt-pkg / contrib / error.cc
index edb290f3468fe9e52035780451b1513be2b4071c..892cd48742de54ced9117a26521607a5b8c38f26 100644 (file)
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
+#include <config.h>
+
 #include <apt-pkg/error.h>
 
+#include <stdarg.h>
+#include <stddef.h>
+#include <list>
 #include <iostream>
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
-
 #include <string>
 #include <cstring>
 
-#include "config.h"
-                                                                       /*}}}*/
+                                                                       /*}}}*/
 
 // Global Error Object                                                 /*{{{*/
 /* If the implementation supports posix threads then the accessor function
@@ -66,9 +69,10 @@ bool GlobalError::NAME (const char *Function, const char *Description,...) { \
        int const errsv = errno; \
        while (true) { \
                va_start(args,Description); \
-               if (InsertErrno(TYPE, Function, Description, args, errsv, msgSize) == false) \
-                       break; \
+               bool const retry = InsertErrno(TYPE, Function, Description, args, errsv, msgSize); \
                va_end(args); \
+               if (retry == false) \
+                       break; \
        } \
        return false; \
 }
@@ -87,9 +91,10 @@ bool GlobalError::InsertErrno(MsgType const &type, const char *Function,
        int const errsv = errno;
        while (true) {
                va_start(args,Description);
-               if (InsertErrno(type, Function, Description, args, errsv, msgSize) == false)
-                       break;
+               bool const retry = InsertErrno(type, Function, Description, args, errsv, msgSize);
                va_end(args);
+               if (retry == false)
+                  break;
        }
        return false;
 }
@@ -220,7 +225,7 @@ void GlobalError::DumpErrors(std::ostream &out, MsgType const &threshold,
 void GlobalError::Discard() {
        Messages.clear();
        PendingFlag = false;
-};
+}
                                                                        /*}}}*/
 // GlobalError::empty - does our error list include anything?          /*{{{*/
 bool GlobalError::empty(MsgType const &trashhold) const {