Mercurial > pidgin
annotate plugins/error.c @ 2910:9f324f8b5fdf
[gaim-migrate @ 2923]
hi.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Fri, 21 Dec 2001 22:50:52 +0000 |
parents | ece2d1543b20 |
children | cd938f18f3f8 |
rev | line source |
---|---|
391 | 1 #define GAIM_PLUGINS |
2 #include "gaim.h" | |
3 | |
4 #include <stdlib.h> | |
5 #include <time.h> | |
6 | |
1047
ece2d1543b20
[gaim-migrate @ 1057]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
398
diff
changeset
|
7 char *gaim_plugin_error(int); |
ece2d1543b20
[gaim-migrate @ 1057]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
398
diff
changeset
|
8 |
ece2d1543b20
[gaim-migrate @ 1057]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
398
diff
changeset
|
9 char *gaim_plugin_init(GModule *handle) { |
391 | 10 int error; |
11 | |
12 /* so here, we load any callbacks, do the normal stuff */ | |
13 | |
14 srand(time(NULL)); | |
15 error = rand() % 3; | |
398
59d97cd251ff
[gaim-migrate @ 408]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
396
diff
changeset
|
16 error -= 2; |
391 | 17 /* there's a 1 in 3 chance there *won't* be an error :) */ |
1047
ece2d1543b20
[gaim-migrate @ 1057]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
398
diff
changeset
|
18 return gaim_plugin_error(error); |
391 | 19 } |
20 | |
21 void gaim_plugin_remove() { | |
22 /* this only gets called if we get loaded successfully, and then | |
23 * unloaded. */ | |
24 } | |
25 | |
26 char *gaim_plugin_error(int error) { | |
27 /* by the time we've gotten here, all our callbacks are removed. | |
28 * we just have to deal with what the error was (as defined by us) | |
29 * and do any other clean-up stuff we need to do. */ | |
30 switch (error) { | |
398
59d97cd251ff
[gaim-migrate @ 408]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
396
diff
changeset
|
31 case -1: |
1047
ece2d1543b20
[gaim-migrate @ 1057]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
398
diff
changeset
|
32 return "MY BAD"; |
398
59d97cd251ff
[gaim-migrate @ 408]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
396
diff
changeset
|
33 case -2: |
391 | 34 return "Internal plugin error: exiting."; |
1047
ece2d1543b20
[gaim-migrate @ 1057]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
398
diff
changeset
|
35 default: |
ece2d1543b20
[gaim-migrate @ 1057]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
398
diff
changeset
|
36 return NULL; |
391 | 37 } |
38 } | |
39 | |
40 char *name() { | |
396
b1d5c6ab7b0d
[gaim-migrate @ 406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
393
diff
changeset
|
41 return "Error Tester " VERSION ; |
391 | 42 } |
43 | |
44 char *description() { | |
45 return "A nice little program that causes error messages"; | |
46 } |