# HG changeset patch # User Eric Warmenhoven # Date 967525718 0 # Node ID 5bad8e4d1c8837b6baa488edb6a87f1ab9d5dbd4 # Parent faa7faf60607c11b1c1fb44babd25d280a5ddafd [gaim-migrate @ 793] lalala committer: Tailor Script diff -r faa7faf60607 -r 5bad8e4d1c88 src/plugins.c --- a/src/plugins.c Tue Aug 29 04:38:41 2000 +0000 +++ b/src/plugins.c Tue Aug 29 05:08:38 2000 +0000 @@ -532,6 +532,9 @@ #endif /* GAIM_PLUGINS */ void plugin_event(enum gaim_event event, void *arg1, void *arg2, void *arg3) { +#ifdef USE_PERL + char buf[BUF_LONG]; +#endif #ifdef GAIM_PLUGINS GList *c = callbacks; struct gaim_callback *g; @@ -567,6 +570,7 @@ /* char *, char ** */ case event_im_send: + case event_chat_send: { void (*function)(char *, char **, void *) = g->function; (*function)(arg1, arg2, g->data); @@ -589,7 +593,6 @@ /* char *, char *, char * */ case event_chat_invited: case event_chat_recv: - case event_chat_send: { void (*function)(char *, char *, char *, void *) = g->function; (*function)(arg1, arg2, arg3, g->data); @@ -631,6 +634,75 @@ } #endif /* GAIM_PLUGINS */ #ifdef USE_PERL - /* FIXME : AIM::event_handler */ + switch (event) { + case event_signon: + buf[0] = 0; + break; + case event_signoff: + buf[0] = 0; + break; + case event_away: + buf[0] = 0; + break; + case event_back: + buf[0] = 0; + break; + case event_im_recv: + sprintf(buf, "%s %s", *(char **)arg1, *(char **)arg2); + break; + case event_im_send: + sprintf(buf, "%s %s", (char *)arg1, *(char **)arg2); + break; + case event_buddy_signon: + sprintf(buf, "%s", (char *)arg1); + break; + case event_buddy_signoff: + sprint: + break; + case event_buddy_away: + sprintf(buf, "%s", (char *)arg1); + break; + case event_buddy_back: + sprintf(buf, "%s", (char *)arg1); + break; + case event_blist_update: + buf[0] = 0; + break; + case event_chat_invited: + sprintf(buf, "%s %s %s", (char *)arg1, (char *)arg2, (char *)arg3); + break; + case event_chat_join: + sprintf(buf, "%s", (char *)arg1); + break; + case event_chat_leave: + sprintf(buf, "%s", (char *)arg1); + break; + case event_chat_buddy_join: + sprintf(buf, "%s %s", (char *)arg1, (char *)arg2); + break; + case event_chat_buddy_leave: + sprintf(buf, "%s %s", (char *)arg1, (char *)arg2); + break; + case event_chat_recv: + sprintf(buf, "%s %s %s", (char *)arg1, (char *)arg2, (char *)arg3); + break; + case event_chat_send: + sprintf(buf, "%s %s", (char *)arg1, *(char **)arg2); + break; + case event_warned: + sprintf(buf, "%s %d", (char *)arg1, (int)arg2); + break; + case event_error: + sprintf(buf, "%d", (int)arg1); + break; + case event_quit: + buf[0] = 0; + break; + default: + break; + } + sprintf(debug_buff, "perl event %d: %s\n", event, buf); + debug_print(debug_buff); + perl_event(event, buf); #endif }