# HG changeset patch # User Elliott Sales de Andrade # Date 1230367295 0 # Node ID bd2f4c6add99e64346c3aa51622db431fbe07502 # Parent 41e69c65b006327ca7de6d825ee7fc6a9103b47a These translated strings don't need to be duplicated with g_snprintf. And since the function is called on error only, I really don't think we need to keep around such large (8K) static buffers. References #7910. diff -r 41e69c65b006 -r bd2f4c6add99 libpurple/protocols/msn/error.c --- a/libpurple/protocols/msn/error.c Tue Dec 23 16:55:49 2008 +0000 +++ b/libpurple/protocols/msn/error.c Sat Dec 27 08:41:35 2008 +0000 @@ -27,191 +27,178 @@ const char * msn_error_get_text(unsigned int type, gboolean *debug) { - static char msg[MSN_BUF_LEN]; + static char msg[256]; + const char *result; *debug = FALSE; switch (type) { case 0: - g_snprintf(msg, sizeof(msg), - _("Unable to parse message")); + result = _("Unable to parse message"); *debug = TRUE; break; case 200: - g_snprintf(msg, sizeof(msg), - _("Syntax Error (probably a client bug)")); + result = _("Syntax Error (probably a client bug)"); *debug = TRUE; break; case 201: - g_snprintf(msg, sizeof(msg), - _("Invalid email address")); + result = _("Invalid email address"); break; case 205: - g_snprintf(msg, sizeof(msg), _("User does not exist")); + result = _("User does not exist"); break; case 206: - g_snprintf(msg, sizeof(msg), - _("Fully qualified domain name missing")); + result = _("Fully qualified domain name missing"); break; case 207: - g_snprintf(msg, sizeof(msg), _("Already logged in")); + result = _("Already logged in"); break; case 208: - g_snprintf(msg, sizeof(msg), _("Invalid username")); + result = _("Invalid username"); break; case 209: - g_snprintf(msg, sizeof(msg), _("Invalid friendly name")); + result = _("Invalid friendly name"); break; case 210: - g_snprintf(msg, sizeof(msg), _("List full")); + result = _("List full"); break; case 215: - g_snprintf(msg, sizeof(msg), _("Already there")); + result = _("Already there"); *debug = TRUE; break; case 216: - g_snprintf(msg, sizeof(msg), _("Not on list")); + result = _("Not on list"); break; case 217: - g_snprintf(msg, sizeof(msg), _("User is offline")); + result = _("User is offline"); break; case 218: - g_snprintf(msg, sizeof(msg), _("Already in the mode")); + result = _("Already in the mode"); *debug = TRUE; break; case 219: - g_snprintf(msg, sizeof(msg), _("Already in opposite list")); + result = _("Already in opposite list"); *debug = TRUE; break; case 223: - g_snprintf(msg, sizeof(msg), _("Too many groups")); + result = _("Too many groups"); break; case 224: - g_snprintf(msg, sizeof(msg), _("Invalid group")); + result = _("Invalid group"); break; case 225: - g_snprintf(msg, sizeof(msg), _("User not in group")); + result = _("User not in group"); break; case 229: - g_snprintf(msg, sizeof(msg), _("Group name too long")); + result = _("Group name too long"); break; case 230: - g_snprintf(msg, sizeof(msg), _("Cannot remove group zero")); + result = _("Cannot remove group zero"); *debug = TRUE; break; case 231: - g_snprintf(msg, sizeof(msg), - _("Tried to add a user to a group " - "that doesn't exist")); + result = _("Tried to add a user to a group that doesn't exist"); break; case 280: - g_snprintf(msg, sizeof(msg), _("Switchboard failed")); + result = _("Switchboard failed"); *debug = TRUE; break; case 281: - g_snprintf(msg, sizeof(msg), _("Notify transfer failed")); + result = _("Notify transfer failed"); *debug = TRUE; break; case 300: - g_snprintf(msg, sizeof(msg), _("Required fields missing")); + result = _("Required fields missing"); *debug = TRUE; break; case 301: - g_snprintf(msg, sizeof(msg), _("Too many hits to a FND")); + result = _("Too many hits to a FND"); *debug = TRUE; break; case 302: - g_snprintf(msg, sizeof(msg), _("Not logged in")); + result = _("Not logged in"); break; case 500: - g_snprintf(msg, sizeof(msg), - _("Service temporarily unavailable")); + result = _("Service temporarily unavailable"); break; case 501: - g_snprintf(msg, sizeof(msg), _("Database server error")); + result = _("Database server error"); *debug = TRUE; break; case 502: - g_snprintf(msg, sizeof(msg), _("Command disabled")); + result = _("Command disabled"); *debug = TRUE; break; case 510: - g_snprintf(msg, sizeof(msg), _("File operation error")); + result = _("File operation error"); *debug = TRUE; break; case 520: - g_snprintf(msg, sizeof(msg), _("Memory allocation error")); + result = _("Memory allocation error"); *debug = TRUE; break; case 540: - g_snprintf(msg, sizeof(msg), - _("Wrong CHL value sent to server")); + result = _("Wrong CHL value sent to server"); *debug = TRUE; break; case 600: - g_snprintf(msg, sizeof(msg), _("Server busy")); + result = _("Server busy"); break; case 601: - g_snprintf(msg, sizeof(msg), _("Server unavailable")); + result = _("Server unavailable"); break; case 602: - g_snprintf(msg, sizeof(msg), - _("Peer notification server down")); + result = _("Peer notification server down"); *debug = TRUE; break; case 603: - g_snprintf(msg, sizeof(msg), _("Database connect error")); + result = _("Database connect error"); *debug = TRUE; break; case 604: - g_snprintf(msg, sizeof(msg), - _("Server is going down (abandon ship)")); + result = _("Server is going down (abandon ship)"); break; case 605: - g_snprintf(msg, sizeof(msg), _("Server unavailable")); + result = _("Server unavailable"); break; case 707: - g_snprintf(msg, sizeof(msg), - _("Error creating connection")); + result = _("Error creating connection"); *debug = TRUE; break; case 710: - g_snprintf(msg, sizeof(msg), - _("CVR parameters are either unknown " - "or not allowed")); + result = _("CVR parameters are either unknown or not allowed"); *debug = TRUE; break; case 711: - g_snprintf(msg, sizeof(msg), _("Unable to write")); + result = _("Unable to write"); break; case 712: - g_snprintf(msg, sizeof(msg), _("Session overload")); + result = _("Session overload"); *debug = TRUE; break; case 713: - g_snprintf(msg, sizeof(msg), _("User is too active")); + result = _("User is too active"); break; case 714: - g_snprintf(msg, sizeof(msg), _("Too many sessions")); + result = _("Too many sessions"); break; case 715: - g_snprintf(msg, sizeof(msg), _("Passport not verified")); + result = _("Passport not verified"); break; case 717: - g_snprintf(msg, sizeof(msg), _("Bad friend file")); + result = _("Bad friend file"); *debug = TRUE; break; case 731: - g_snprintf(msg, sizeof(msg), _("Not expected")); + result = _("Not expected"); *debug = TRUE; break; case 800: - g_snprintf(msg, sizeof(msg), - _("Friendly name changes too rapidly")); + result = _("Friendly name changes too rapidly"); break; case 910: @@ -220,37 +207,34 @@ case 919: case 921: case 922: - g_snprintf(msg, sizeof(msg), _("Server too busy")); + result = _("Server too busy"); break; case 911: case 917: - g_snprintf(msg, sizeof(msg), _("Authentication failed")); + result = _("Authentication failed"); break; case 913: - g_snprintf(msg, sizeof(msg), _("Not allowed when offline")); + result = _("Not allowed when offline"); break; case 914: case 915: case 916: - g_snprintf(msg, sizeof(msg), _("Server unavailable")); + result = _("Server unavailable"); break; case 920: - g_snprintf(msg, sizeof(msg), _("Not accepting new users")); + result = _("Not accepting new users"); break; case 923: - g_snprintf(msg, sizeof(msg), - _("Kids Passport without parental consent")); + result = _("Kids Passport without parental consent"); break; case 924: - g_snprintf(msg, sizeof(msg), - _("Passport account not yet verified")); + result = _("Passport account not yet verified"); break; case 927: - g_snprintf(msg, sizeof(msg), - _("Passport account suspended")); + result = _("Passport account suspended"); break; case 928: - g_snprintf(msg, sizeof(msg), _("Bad ticket")); + result = _("Bad ticket"); *debug = TRUE; break; @@ -258,23 +242,25 @@ g_snprintf(msg, sizeof(msg), _("Unknown Error Code %d"), type); *debug = TRUE; + result = msg; break; } - return msg; + return result; } void msn_error_handle(MsnSession *session, unsigned int type) { - char buf[MSN_BUF_LEN]; + char *buf; gboolean debug; - g_snprintf(buf, sizeof(buf), _("MSN Error: %s\n"), - msn_error_get_text(type, &debug)); + buf = g_strdup_printf(_("MSN Error: %s\n"), + msn_error_get_text(type, &debug)); if (debug) purple_debug_warning("msn", "error %d: %s\n", type, buf); else purple_notify_error(session->account->gc, NULL, buf, NULL); + g_free(buf); }