From 43e798dde75cb46679b2e40160b2d2b4ca8f803c Mon Sep 17 00:00:00 2001 From: Giuliano Schneider Date: Tue, 30 Apr 2013 16:10:29 +0200 Subject: [PATCH 1/2] don't parse something like "bla..." as domain --- menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menu.c b/menu.c index c7fb187..f8daf2b 100644 --- a/menu.c +++ b/menu.c @@ -28,7 +28,7 @@ char *extract_urls(const char *to_match) if (!is_initialized) { char *regex = - "((http|ftp|https)(://))?(www\\.)?[[:alnum:]_-]+\\.[^[:space:]\"<>]{2,}"; + "((http|ftp|https)(://))?(www\\.)?[[:alnum:]._-]+\\.[^[:space:].\"<>]{2,}"; int ret = regcomp(&cregex, regex, REG_EXTENDED | REG_ICASE); if (ret != 0) { printf("failed to compile regex\n"); From 5edcd1097be2749f9d481dd55b572226d95b92bb Mon Sep 17 00:00:00 2001 From: Giuliano Schneider Date: Tue, 30 Apr 2013 16:14:02 +0200 Subject: [PATCH 2/2] simplified regex, added ftps --- menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menu.c b/menu.c index f8daf2b..cd3f85a 100644 --- a/menu.c +++ b/menu.c @@ -28,7 +28,7 @@ char *extract_urls(const char *to_match) if (!is_initialized) { char *regex = - "((http|ftp|https)(://))?(www\\.)?[[:alnum:]._-]+\\.[^[:space:].\"<>]{2,}"; + "((http[s]?|ftp[s]?)(://))?(www\\.)?[[:alnum:]._-]+\\.[^[:space:].\"<>]{2,}"; int ret = regcomp(&cregex, regex, REG_EXTENDED | REG_ICASE); if (ret != 0) { printf("failed to compile regex\n");