summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/contrib/error.h30
-rw-r--r--apt-pkg/contrib/macros.h9
2 files changed, 16 insertions, 23 deletions
diff --git a/apt-pkg/contrib/error.h b/apt-pkg/contrib/error.h
index 31413b2dc..90747ff7e 100644
--- a/apt-pkg/contrib/error.h
+++ b/apt-pkg/contrib/error.h
@@ -40,28 +40,15 @@
#ifndef PKGLIB_ERROR_H
#define PKGLIB_ERROR_H
-
-
-#ifdef __GNUG__
-// Methods have a hidden this parameter that is visible to this attribute
-#define APT_MFORMAT1 __attribute__ ((format (printf, 2, 3)))
-#define APT_MFORMAT2 __attribute__ ((format (printf, 3, 4)))
-#else
-#define APT_MFORMAT1
-#define APT_MFORMAT2
-#endif
-
-#include <string>
-
#include <apt-pkg/macros.h>
-using std::string;
+#include <string>
class GlobalError
{
struct Item
{
- string Text;
+ std::string Text;
bool Error;
Item *Next;
};
@@ -73,18 +60,18 @@ class GlobalError
public:
// Call to generate an error from a library call.
- bool Errno(const char *Function,const char *Description,...) APT_MFORMAT2 __cold;
- bool WarningE(const char *Function,const char *Description,...) APT_MFORMAT2 __cold;
+ bool Errno(const char *Function,const char *Description,...) __like_printf_2 __cold;
+ bool WarningE(const char *Function,const char *Description,...) __like_printf_2 __cold;
/* A warning should be considered less severe than an error, and may be
ignored by the client. */
- bool Error(const char *Description,...) APT_MFORMAT1 __cold;
- bool Warning(const char *Description,...) APT_MFORMAT1 __cold;
+ bool Error(const char *Description,...) __like_printf_1 __cold;
+ bool Warning(const char *Description,...) __like_printf_1 __cold;
// Simple accessors
inline bool PendingError() {return PendingFlag;};
inline bool empty() {return List == 0;};
- bool PopMessage(string &Text);
+ bool PopMessage(std::string &Text);
void Discard();
// Usefull routine to dump to cerr
@@ -97,7 +84,4 @@ class GlobalError
GlobalError *_GetErrorObj();
#define _error _GetErrorObj()
-#undef APT_MFORMAT1
-#undef APT_MFORMAT2
-
#endif
diff --git a/apt-pkg/contrib/macros.h b/apt-pkg/contrib/macros.h
index e53eb32df..9aeb77b81 100644
--- a/apt-pkg/contrib/macros.h
+++ b/apt-pkg/contrib/macros.h
@@ -76,4 +76,13 @@
#define __cold /* no cold marker */
#endif
+#ifdef __GNUG__
+// Methods have a hidden this parameter that is visible to this attribute
+ #define __like_printf_1 __attribute__ ((format (printf, 2, 3)))
+ #define __like_printf_2 __attribute__ ((format (printf, 3, 4)))
+#else
+ #define __like_printf_1
+ #define __like_printf_2
+#endif
+
#endif