diff src/away.c @ 1044:77b6bc7288d3

[gaim-migrate @ 1054] Thanks to Ryan C. Gordon for the Away message patch! committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Wed, 01 Nov 2000 11:22:04 +0000
parents 91b7377e7b45
children c73736fa0b7c
line wrap: on
line diff
--- a/src/away.c	Wed Nov 01 09:32:34 2000 +0000
+++ b/src/away.c	Wed Nov 01 11:22:04 2000 +0000
@@ -65,6 +65,28 @@
 	plugin_event(event_back, 0, 0, 0, 0);
 }
 
+
+/*
+ * rcg10312000 This could be more robust, but it works for my current
+ *  goal: to remove those annoying <BR> tags.  :)
+ */
+static void strncpy_nohtml(gchar *dest, const gchar *src, size_t destsize)
+{
+	gchar *ptr;
+	g_snprintf(dest, destsize, "%s", src);
+
+	while (1) {
+		ptr = strstr(dest, "<BR>");
+		if (ptr == NULL)  /* done? */
+			return;
+
+			/* replace <BR> with a newline. */
+		*ptr = '\n';
+		memmove(ptr + 1, ptr + 4, strlen(ptr + 4) + 1);
+	}
+}
+
+
 void do_away_message(GtkWidget *w, struct away_message *a)
 {
 	GtkWidget *back;
@@ -102,8 +124,13 @@
                 vbox = gtk_vbox_new(FALSE, 5);
 
 		awaytext = gtk_text_new(NULL, NULL);
+
+		/* rcg10312000 Convert basic HTML (<BR>, etc) to plain text.
 		g_snprintf(buf, sizeof(buf), "%s", a->message);
-                vscrollbar = gtk_vscrollbar_new(GTK_TEXT(awaytext)->vadj);
+		*/
+		strncpy_nohtml(buf, a->message, sizeof (buf));
+
+        vscrollbar = gtk_vscrollbar_new(GTK_TEXT(awaytext)->vadj);
 		gtk_widget_show(vscrollbar);
 		gtk_widget_set_usize(awaytext, 225, 75);
                 gtk_text_set_word_wrap(GTK_TEXT(awaytext), TRUE);