changeset 31487:1029e81fe8e5

merge of '0c09db333f3ff80093510065d37e0e275499b9f1' and '2b77d04bbc598fa43216d1cfbc953a5891d1eda1'
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Thu, 16 Dec 2010 07:20:13 +0000
parents 7d980d6b40e1 (current diff) 36855fcbd278 (diff)
children e358c09cd765
files
diffstat 6 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Thu Dec 16 02:49:59 2010 +0000
+++ b/COPYRIGHT	Thu Dec 16 07:20:13 2010 +0000
@@ -20,6 +20,7 @@
 Saleem Abdulrasool
 Jakub Adam
 Dave Ahlswede
+Thijs Alkemade
 Manuel Amador
 Matt Amato
 Josef Andrysek
@@ -489,6 +490,7 @@
 Mårten Svantesson (fursten)
 Amir Szekely (kichik)
 Gábor Szuromi (kukkerman)
+Jakub Szypulka
 Robert T.
 Greg Taeger
 Rob Taft
--- a/ChangeLog	Thu Dec 16 02:49:59 2010 +0000
+++ b/ChangeLog	Thu Dec 16 07:20:13 2010 +0000
@@ -11,7 +11,8 @@
 	  when it contains HTML-escapable characters (e.g. "<3" was previously
 	  displayed as "&lt;3").
 	* Drop dependency on GdkGC and use Cairo instead.
-	* New UI hack to assist in first-time setup of Facebook accounts.
+	* New UI hack to assist in first-time setup of Facebook accounts with
+	  icon from Jakub Szypulka.
 	* Don't hide the buddy list if there is no notification area in which
 	  to put the icon. (#12129)
 
--- a/libpurple/protocols/irc/msgs.c	Thu Dec 16 02:49:59 2010 +0000
+++ b/libpurple/protocols/irc/msgs.c	Thu Dec 16 07:20:13 2010 +0000
@@ -597,9 +597,6 @@
 	if (!args || !args[0])
 		return;
 
-	if (!irc->motd)
-		irc->motd = g_string_new("");
-
 	if (!strcmp(name, "375")) {
 		if (irc->motd)
 			g_string_free(irc->motd, TRUE);
@@ -610,6 +607,15 @@
 		 * finalize the connection here if it is not already done. */
 		irc_connected(irc, args[0]);
 		return;
+	} else if (!strcmp(name, "422")) {
+		/* in case there is no 251, and no MOTD set, finalize the connection.
+		 * (and clear the motd for good measure). */
+		
+		if (irc->motd)
+			g_string_free(irc->motd, TRUE);
+		
+		irc_connected(irc, args[0]);
+		return;
 	}
 
 	if (!irc->motd) {
--- a/libpurple/protocols/irc/parse.c	Thu Dec 16 02:49:59 2010 +0000
+++ b/libpurple/protocols/irc/parse.c	Thu Dec 16 07:20:13 2010 +0000
@@ -86,6 +86,7 @@
 	{ "403", "nc:", irc_msg_nochan },	/* No such channel		*/
 	{ "404", "nt:", irc_msg_nosend },	/* Cannot send to chan		*/
 	{ "421", "nv:", irc_msg_unknown },	/* Unknown command		*/
+	{ "422", "n:", irc_msg_motd },		/* MOTD file missing		*/
 	{ "432", "vn:", irc_msg_badnick },	/* Erroneous nickname		*/
 	{ "433", "vn:", irc_msg_nickused },	/* Nickname already in use	*/
 	{ "437", "nc:", irc_msg_unavailable },  /* Nick/channel is unavailable */
--- a/libpurple/protocols/oscar/family_locate.c	Thu Dec 16 02:49:59 2010 +0000
+++ b/libpurple/protocols/oscar/family_locate.c	Thu Dec 16 07:20:13 2010 +0000
@@ -1043,7 +1043,7 @@
 						} else {
 							byte_stream_advance(bs, length2);
 							outinfo->status_len = 0;
-							outinfo->status = NULL;
+							outinfo->status = g_strdup("");
 							outinfo->status_encoding = NULL;
 						}
 					} break;
--- a/libpurple/tests/test_util.c	Thu Dec 16 02:49:59 2010 +0000
+++ b/libpurple/tests/test_util.c	Thu Dec 16 07:20:13 2010 +0000
@@ -156,6 +156,8 @@
 {
 	fail_unless(377182200 == purple_str_to_time("19811214T12:50:00", TRUE, NULL, NULL, NULL));
 	fail_unless(1175919261 == purple_str_to_time("20070407T04:14:21", TRUE, NULL, NULL, NULL));
+	fail_unless(1282941722 == purple_str_to_time("2010-08-27.204202", TRUE, NULL, NULL, NULL));
+	fail_unless(1282941722 == purple_str_to_time("2010-08-27.134202-0700PDT", FALSE, NULL, NULL, NULL));
 }
 END_TEST