Mercurial > pidgin.yaz
annotate plugins/error.c @ 4001:9178da61c19f
[gaim-migrate @ 4201]
fix bug where logging in to yahoo causes a blank new mail notification (thanks ZuperDee and faceprint)
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Tue, 26 Nov 2002 14:13:11 +0000 |
| parents | cd938f18f3f8 |
| children |
| 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 | |
| 3551 | 40 struct gaim_plugin_description desc; |
| 41 struct gaim_plugin_description *gaim_plugin_desc() { | |
| 42 desc.api_version = PLUGIN_API_VERSION; | |
| 43 desc.name = g_strdup("Error Tester"); | |
| 44 desc.version = g_strdup(VERSION); | |
| 45 desc.description = g_strdup("A plugin that causes error messages."); | |
| 46 desc.authors = g_strdup("Eric Warmehoven <eric@warmenhoven.org>"); | |
| 47 desc.url = g_strdup(WEBSITE); | |
| 48 return &desc; | |
| 49 } | |
| 50 | |
| 391 | 51 char *name() { |
|
396
b1d5c6ab7b0d
[gaim-migrate @ 406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
393
diff
changeset
|
52 return "Error Tester " VERSION ; |
| 391 | 53 } |
| 54 | |
| 55 char *description() { | |
| 56 return "A nice little program that causes error messages"; | |
| 57 } |
