diff src/conversation.c @ 1103:7aabbbaae829

[gaim-migrate @ 1113] lalala committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 17 Nov 2000 22:45:31 +0000
parents f168625b63fe
children f3e0f41beddb
line wrap: on
line diff
--- a/src/conversation.c	Thu Nov 16 23:51:49 2000 +0000
+++ b/src/conversation.c	Fri Nov 17 22:45:31 2000 +0000
@@ -802,6 +802,42 @@
 	g_free(s);
 }
 
+static char* add_br(char* p) {
+
+    char* temp_p = p;
+    char* buffer_p;
+    char* buffer_start;
+    int   num_cr = 0;
+    int   char_len = 0;
+
+    while( *temp_p != '\0' ) {
+	char_len++;
+	if( *temp_p == '\n' )
+	    num_cr++;
+	++temp_p;
+    }
+
+    temp_p = p;
+    buffer_p = g_malloc(char_len + ( 4 * num_cr ) + 1);
+    buffer_start = buffer_p;
+
+    while( *temp_p != '\0' ) {
+	*buffer_p = *temp_p;
+	if( *temp_p == '\n' ) {
+	    *buffer_p++ = '<';
+	    *buffer_p++ = 'B';
+	    *buffer_p++ = 'R';
+	    *buffer_p++ = '>';
+	    *buffer_p = '\n';
+	}
+	++buffer_p;
+	++temp_p;
+    }
+    *buffer_p = '\0';
+
+    return buffer_start;
+}
+
 void surround(GtkWidget *entry, char *pre, char *post)
 {
 	int temp, pos = GTK_EDITABLE(entry)->current_pos;
@@ -1314,8 +1350,8 @@
                                 t1 = strip_html(buf);
                                 t2 = strip_html(what);
                         } else {
-                                t1 = buf;
-                                t2 = what;
+                                t1 = add_br(buf);
+                                t2 = add_br(what);
                         }
                         fd = open_log_file(nm);
 			if (fd > 0) {
@@ -1326,10 +1362,8 @@
 				}
 				fclose(fd);
 			}
-                        if (general_options & OPT_GEN_STRIP_HTML) {
-                                g_free(t1);
-                                g_free(t2);
-                        }
+                        g_free(t1);
+                        g_free(t2);
 			g_free(nm);
                 }
         }