[PATCH]: libev-3.8; ev++.h bug and warning fixes. (with text patch)

Konstantin Lepa konstantin.lepa at gmail.com
Fri Aug 28 10:19:39 CEST 2009


1. Fixed warnings for compilation with -pedantic flag.
2. Fixed errors in template member functions.

ev++.h isn't usable without the patch.

--snip--
--- ev++.h.orig	2009-07-10 20:13:33.000000000 +0400
+++ ev++.h	2009-08-17 21:37:28.000000000 +0400
@@ -76,7 +76,7 @@
      ASYNC    = EV_ASYNC,
      EMBED    = EV_EMBED,
  #   undef ERROR // some systems stupidly #define ERROR
-    ERROR    = EV_ERROR,
+    ERROR    = EV_ERROR
    };

    enum
@@ -272,7 +272,7 @@
      template<class K, void (K::*method)(int)>
      static void method_thunk (int revents, void *arg)
      {
-      static_cast<K *>(arg)->*method
+      (static_cast<K *>(arg)->*method)
          (revents);
      }

@@ -286,7 +286,7 @@
      template<class K, void (K::*method)()>
      static void method_noargs_thunk (int revents, void *arg)
      {
-      static_cast<K *>(arg)->*method
+      (static_cast<K *>(arg)->*method)
          ();
      }

@@ -464,7 +464,7 @@
      }

      template<class K, void (K::*method)(watcher &w, int)>
-    static void method_thunk (EV_P_ ev_watcher *w, int revents)
+    static void method_thunk (struct ev_loop *, ev_watcher *w, int  
revents)
      {
        (static_cast<K *>(w->data)->*method)
          (*static_cast<watcher *>(w), revents);
@@ -478,9 +478,9 @@
      }

      template<class K, void (K::*method)()>
-    static void method_noargs_thunk (EV_P_ ev_watcher *w, int revents)
+    static void method_noargs_thunk (struct ev_loop *, ev_watcher *w,  
int /*revents*/)
      {
-      static_cast<K *>(w->data)->*method
+      (static_cast<K *>(w->data)->*method)
          ();
      }
--snip--



More information about the libev mailing list