]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/error.h
* merged from dpkg-log branch
[apt.git] / apt-pkg / contrib / error.h
index 7250bb1c017055585510dfec2b1c4832abb0ed88..a3be6a575846938d35c82f98bc50334d903d9be0 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: error.h,v 1.4 1998/09/12 02:46:27 jgg Exp $
+// $Id: error.h,v 1.8 2001/05/07 05:06:52 jgg Exp $
 /* ######################################################################
    
    Global Erorr Class - Global error mechanism
 /* ######################################################################
    
    Global Erorr Class - Global error mechanism
    
    ##################################################################### */
                                                                        /*}}}*/
    
    ##################################################################### */
                                                                        /*}}}*/
-// Header section: pkglib
 #ifndef PKGLIB_ERROR_H
 #define PKGLIB_ERROR_H
 
 #ifndef PKGLIB_ERROR_H
 #define PKGLIB_ERROR_H
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/error.h"
-#endif 
 
 
+
+#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 <string>
 
+using std::string;
+
 class GlobalError
 {
    struct Item
 class GlobalError
 {
    struct Item
@@ -63,12 +71,13 @@ class GlobalError
    public:
 
    // Call to generate an error from a library call.
    public:
 
    // Call to generate an error from a library call.
-   bool Errno(const char *Function,const char *Description,...);
+   bool Errno(const char *Function,const char *Description,...) APT_MFORMAT2;
+   bool WarningE(const char *Function,const char *Description,...) APT_MFORMAT2;
 
    /* A warning should be considered less severe than an error, and may be
       ignored by the client. */
 
    /* A warning should be considered less severe than an error, and may be
       ignored by the client. */
-   bool Error(const char *Description,...);
-   bool Warning(const char *Description,...);
+   bool Error(const char *Description,...) APT_MFORMAT1;
+   bool Warning(const char *Description,...) APT_MFORMAT1;
 
    // Simple accessors
    inline bool PendingError() {return PendingFlag;};
 
    // Simple accessors
    inline bool PendingError() {return PendingFlag;};
@@ -86,4 +95,7 @@ class GlobalError
 GlobalError *_GetErrorObj();
 #define _error _GetErrorObj()
 
 GlobalError *_GetErrorObj();
 #define _error _GetErrorObj()
 
+#undef APT_MFORMAT1
+#undef APT_MFORMAT2
+
 #endif
 #endif