Mercurial > pidgin
changeset 10043:700f8fb9e581
[gaim-migrate @ 11002]
commit the 2 xfr patches to msn from shx to head. these went in just before
1.0.0 was released fixing some bugs
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sun, 19 Sep 2004 02:53:00 +0000 |
parents | ae6157393415 |
children | 86a6d78b070b |
files | src/protocols/msn/cmdproc.c src/protocols/msn/notification.c src/protocols/msn/table.c src/protocols/msn/table.h |
diffstat | 4 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/protocols/msn/cmdproc.c Sat Sep 18 23:47:36 2004 +0000 +++ b/src/protocols/msn/cmdproc.c Sun Sep 19 02:53:00 2004 +0000 @@ -288,6 +288,9 @@ cb = g_hash_table_lookup(trans->callbacks, cmd->command); } + if (cb == NULL && cmdproc->cbs_table->fallback != NULL) + cb = g_hash_table_lookup(cmdproc->cbs_table->fallback, cmd->command); + if (cb != NULL) { cb(cmdproc, cmd);
--- a/src/protocols/msn/notification.c Sat Sep 18 23:47:36 2004 +0000 +++ b/src/protocols/msn/notification.c Sun Sep 19 02:53:00 2004 +0000 @@ -1256,7 +1256,7 @@ msn_table_add_cmd(cbs_table, NULL, "URL", url_cmd); - msn_table_add_cmd(cbs_table, NULL, "XFR", xfr_cmd); + msn_table_add_cmd(cbs_table, "fallback", "XFR", xfr_cmd); msn_table_add_error(cbs_table, "ADD", add_error); /* msn_table_add_error(cbs_table, "REA", rea_error); */
--- a/src/protocols/msn/table.c Sat Sep 18 23:47:36 2004 +0000 +++ b/src/protocols/msn/table.c Sun Sep 19 02:53:00 2004 +0000 @@ -46,6 +46,7 @@ table->errors = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL); table->async = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL); + table->fallback = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL); return table; } @@ -60,6 +61,7 @@ g_hash_table_destroy(table->errors); g_hash_table_destroy(table->async); + g_hash_table_destroy(table->fallback); g_free(table); } @@ -79,6 +81,10 @@ { cbs = table->async; } + else if (strcmp(command, "fallback") == 0) + { + cbs = table->fallback; + } else { cbs = g_hash_table_lookup(table->cmds, command);