plugins/error.c

Fri, 29 Mar 2002 20:15:05 +0000

author
Rob Flynn <gaim@robflynn.com>
date
Fri, 29 Mar 2002 20:15:05 +0000
changeset 3113
f49f4ab77014
parent 1047
783f8520d9a0
child 3551
acce66c34dbd
permissions
-rw-r--r--

[gaim-migrate @ 3127]
here

391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 #define GAIM_PLUGINS
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 #include "gaim.h"
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 #include <stdlib.h>
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5 #include <time.h>
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 398
diff changeset
7 char *gaim_plugin_error(int);
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 398
diff changeset
8
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 398
diff changeset
9 char *gaim_plugin_init(GModule *handle) {
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 int error;
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 /* so here, we load any callbacks, do the normal stuff */
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 srand(time(NULL));
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 error = rand() % 3;
398
c426f81e75ce [gaim-migrate @ 408]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 396
diff changeset
16 error -= 2;
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 /* there's a 1 in 3 chance there *won't* be an error :) */
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 398
diff changeset
18 return gaim_plugin_error(error);
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 void gaim_plugin_remove() {
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 /* this only gets called if we get loaded successfully, and then
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23 * unloaded. */
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 char *gaim_plugin_error(int error) {
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 /* by the time we've gotten here, all our callbacks are removed.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28 * we just have to deal with what the error was (as defined by us)
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29 * and do any other clean-up stuff we need to do. */
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 switch (error) {
398
c426f81e75ce [gaim-migrate @ 408]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 396
diff changeset
31 case -1:
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 398
diff changeset
32 return "MY BAD";
398
c426f81e75ce [gaim-migrate @ 408]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 396
diff changeset
33 case -2:
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 return "Internal plugin error: exiting.";
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 398
diff changeset
35 default:
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 398
diff changeset
36 return NULL;
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40 char *name() {
396
fbdaa6b9fb14 [gaim-migrate @ 406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 393
diff changeset
41 return "Error Tester " VERSION ;
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44 char *description() {
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45 return "A nice little program that causes error messages";
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
46 }

mercurial