Mercurial > pidgin
diff libpurple/protocols/msn/cmdproc.c @ 27898:28485b9ea656
Simplify. A lot of these checks aren't necessary because msn_table_new()
always creates these hash tables.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 13 Aug 2009 02:32:33 +0000 |
parents | 9ff5bf0dc670 |
children | 33b4ae796648 |
line wrap: on
line diff
--- a/libpurple/protocols/msn/cmdproc.c Thu Aug 13 02:24:55 2009 +0000 +++ b/libpurple/protocols/msn/cmdproc.c Thu Aug 13 02:32:33 2009 +0000 @@ -333,49 +333,38 @@ trans->timer = 0; } - if (g_ascii_isdigit(cmd->command[0])) + if (g_ascii_isdigit(cmd->command[0]) && trans != NULL) { - if (trans != NULL) - { - MsnErrorCb error_cb; - int error; + MsnErrorCb error_cb; + int error; - error = atoi(cmd->command); + error = atoi(cmd->command); - error_cb = trans->error_cb; - if (error_cb == NULL) - error_cb = g_hash_table_lookup(cmdproc->cbs_table->errors, trans->command); + error_cb = trans->error_cb; + if (error_cb == NULL) + error_cb = g_hash_table_lookup(cmdproc->cbs_table->errors, trans->command); - if (error_cb != NULL) - error_cb(cmdproc, trans, error); - else - msn_error_handle(cmdproc->session, error); + if (error_cb != NULL) + error_cb(cmdproc, trans, error); + else + msn_error_handle(cmdproc->session, error); - return; - } + return; } - if (cmdproc->cbs_table->async != NULL) - cb = g_hash_table_lookup(cmdproc->cbs_table->async, cmd->command); + cb = g_hash_table_lookup(cmdproc->cbs_table->async, cmd->command); - if (cb == NULL && trans != NULL) - { - if (trans->callbacks != NULL) - cb = g_hash_table_lookup(trans->callbacks, cmd->command); - } + if (cb == NULL && trans != NULL && trans->callbacks != NULL) + cb = g_hash_table_lookup(trans->callbacks, cmd->command); - if (cb == NULL && cmdproc->cbs_table->fallback != NULL) + if (cb == NULL) cb = g_hash_table_lookup(cmdproc->cbs_table->fallback, cmd->command); if (cb != NULL) - { cb(cmdproc, cmd); - } else - { purple_debug_warning("msn", "Unhandled command '%s'\n", cmd->command); - } if (trans != NULL && trans->pendent_cmd != NULL) msn_transaction_unqueue_cmd(trans, cmdproc);