changeset 924:f6aa60716419

[gaim-migrate @ 934] Better linkification. I'll add support for the , tomorrow. committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Mon, 18 Sep 2000 10:38:25 +0000
parents 12407c6b3eb7
children 1ff824e6bc19
files ChangeLog src/dialogs.c src/util.c
diffstat 3 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Sep 16 08:06:32 2000 +0000
+++ b/ChangeLog	Mon Sep 18 10:38:25 2000 +0000
@@ -1,6 +1,7 @@
 GAIM: The Pimpin' Penguin IM Clone thats good for the soul! 
 
 version 0.10.2:
+	* A few fixes to the URL parser.
 
 version 0.10.1 (09/15/2000):
 	* Better chatroom logging
--- a/src/dialogs.c	Sat Sep 16 08:06:32 2000 +0000
+++ b/src/dialogs.c	Mon Sep 18 10:38:25 2000 +0000
@@ -2830,6 +2830,7 @@
 		buf2 = buf;
 		buf = g_malloc(8193);
                 g_snprintf(buf, 8192, "toc_set_config {%s}\n", buf2);
+		printf("%s\n", buf2);
                 g_free(buf2);
 	/* Something else */
         } else {
--- a/src/util.c	Sat Sep 16 08:06:32 2000 +0000
+++ b/src/util.c	Mon Sep 18 10:38:25 2000 +0000
@@ -198,7 +198,8 @@
                                 t++;
 
                         }
-                } else if (!strncasecmp(c, "ftp.", 4)) {
+                } else if (!strncasecmp(c, "ftp.", 4) ) {
+			if (strncasecmp(c, "ftp..", 5)) {
                         t = c;
                         while(1) {
                                 if (badchar(*t)) {
@@ -218,6 +219,7 @@
                                         break;
                                 t++;
                         }
+			}
                 } else if (!strncasecmp(c, "mailto:", 7)) {
                         t = c;
                         while(1) {
@@ -240,9 +242,10 @@
                         char *tmp;
                         int flag;
                         int len=0;
+			char illegal_chars[] = "!@#$%^&*()[]{}/\\<>\":;\0";
                         url_buf[0] = 0;
 
-                        if (*(c-1) == ' ' || *(c+1) == ' ')
+                        if (*(c-1) == ' ' || *(c+1) == ' ' || rindex(illegal_chars, *(c+1))) 
                                 flag = 0;
                         else
                                 flag = 1;