Mercurial > pidgin.yaz
diff libpurple/protocols/oscar/util.c @ 30406:f18b6eb0ed02
Cleanup, basically. Move the icbm snac error handling from oscar.c to
family_icbm.c so we don't have to bother we va_args. This is simpler,
and gives us the benefit of type checking by the compiler, which will
help avoid the crash bug we encountered.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 20 May 2010 02:44:00 +0000 |
parents | 74e487f82f39 |
children | e5575248ca82 9881f18b95b1 |
line wrap: on
line diff
--- a/libpurple/protocols/oscar/util.c Thu May 20 01:39:52 2010 +0000 +++ b/libpurple/protocols/oscar/util.c Thu May 20 02:44:00 2010 +0000 @@ -35,6 +35,40 @@ #include "win32dep.h" #endif +static const char * const msgerrreason[] = { + N_("Invalid error"), + N_("Invalid SNAC"), + N_("Rate to host"), + N_("Rate to client"), + N_("Not logged in"), + N_("Service unavailable"), + N_("Service not defined"), + N_("Obsolete SNAC"), + N_("Not supported by host"), + N_("Not supported by client"), + N_("Refused by client"), + N_("Reply too big"), + N_("Responses lost"), + N_("Request denied"), + N_("Busted SNAC payload"), + N_("Insufficient rights"), + N_("In local permit/deny"), + N_("Warning level too high (sender)"), + N_("Warning level too high (receiver)"), + N_("User temporarily unavailable"), + N_("No match"), + N_("List overflow"), + N_("Request ambiguous"), + N_("Queue full"), + N_("Not while on AOL") +}; +static const int msgerrreasonlen = G_N_ELEMENTS(msgerrreason); + +const char *oscar_get_msgerr_reason(size_t reason) +{ + return (reason < msgerrreasonlen) ? _(msgerrreason[reason]) : _("Unknown reason"); +} + int oscar_get_ui_info_int(const char *str, int default_value) { GHashTable *ui_info;