Mercurial > pidgin
annotate plugins/error.c @ 2373:84a5ea08545a
[gaim-migrate @ 2386]
you got the mother and the kids, you got the guy and his date
we all get mad. we all get late.
Looks like somebody! forgot about us!
Standing on a corner, waiting for a bus!
say hey mister driver man, don't be slow
cuz i've got somewhere i've gotta go
say hey mister driver man, drive that thing fast!
my precious time keeps, slippin' past!
let's call the mayor, let's complain
look what the city's done to us again
tied up in traffic, what do you know
the damn city bus, moves so slow
--Violent Femmes
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Thu, 27 Sep 2001 19:27: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 } |
