goinfre/libs/libevent/call.c

goinfre/libs/libevent/call.c

  _____________________________________________________________________________ 
 /   / Index / Goinfre / Resume / Links / Contact / Sitemap /    .: v0.6.1.0 |^|
|\__/-------+         +--------+-------+---------+---------+-----------------+#|
|  1| /goinfre/libs/libevent/call.c                                          |#|
|  2| ==========================================                             |#|
|  3|                                                                        |#|
|  4|                                                   [ raw ] [ download ] |#|
|  5|                                             ` `` ````````````````````` |#|
|  6|                                                                        |#|
|  7| /**                                                                    |#|
|  8|  * libevent/call.c                                                     |#|
|  9|  *                                                                     |#|
| 10|  * Copyright (c) Manfred Touron 2008                                   |#|
| 11|  */                                                                    |#|
| 12|                                                                        |#|
| 13| #include <stdlib.h>                                                    |#|
| 14| #include <unistd.h>                                                    |#|
| 15| #include <stdio.h>                                                     |#|
| 16| #include <string.h>                                                    |#|
| 17|                                                                        |#|
| 18| #include <liblc/liblc.h>                                               |#|
| 19|                                                                        |#|
| 20| #include "core.h"                                                      |#|
| 21|                                                                        |#|
| 22| int            event_call_walk(void *ptr, int argc, va_list varg)      |#|
| 23| {                                                                      |#|
| 24|   return (((int (*)(int, va_list))(uintptr_t)ptr)(argc, varg));        |#|
| 25| }                                                                      |#|
| 26|                                                                        |#|
| 27| int            event_call_walk_a(void *ptr, CLLBCK_ARGS argv)          |#|
| 28| {                                                                      |#|
| 29|   return (((int (*)(CLLBCK_ARGS))(uintptr_t)ptr)(argv));               |#|
| 30| }                                                                      | |
| 31|                                                                        | |
| 32| int            event_call(const char *name, CLLBCK_ARGS argv)          | |
| 33| {                                                                      | |
| 34|   event            e;                                                  | |
| 35|   int            ret;                                                  | |
| 36|                                                                        | |
| 37|   ret = 1;                                                             | |
| 38|   if ((e = events_find(name)) == NULL)                                 | |
| 39|     return (0);                                                        | |
| 40|   ret *= !!lc_walk_a(e->lc, event_call_walk_a, argv);                  | |
| 41|   return (ret);                                                        | |
| 42| }                                                                      | |
| 43|                                                                        | |
+---+                                                                        | |
\_   \______ mo5.so - normal - 1337.so - rev.so - video_r.so +---------------+ |
  |__       \_____   plain.so - color.so - comment.so       /  moul 2008 (c) |V|
     \-----\______\________________________________________/-----------------+-+