[empathy/gnome-2-34] string-parser: properly handle if g_regex_new() fails
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy/gnome-2-34] string-parser: properly handle if g_regex_new() fails
- Date: Thu, 10 Feb 2011 12:24:11 +0000 (UTC)
commit d23ec3dc8820592c390adec4de712a570a3c06c7
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Thu Feb 10 13:18:12 2011 +0100
string-parser: properly handle if g_regex_new() fails
libempathy-gtk/empathy-string-parser.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
---
diff --git a/libempathy-gtk/empathy-string-parser.c b/libempathy-gtk/empathy-string-parser.c
index 45ae6a7..a6bffa0 100644
--- a/libempathy-gtk/empathy-string-parser.c
+++ b/libempathy-gtk/empathy-string-parser.c
@@ -43,7 +43,14 @@ uri_regex_dup_singleton (void)
/* We intentionally leak the regex so it's not recomputed */
if (!uri_regex) {
- uri_regex = g_regex_new (URI_REGEX, 0, 0, NULL);
+ GError *error = NULL;
+
+ uri_regex = g_regex_new (URI_REGEX, 0, 0, &error);
+ if (uri_regex == NULL) {
+ g_warning ("Failed to create reg exp: %s", error->message);
+ g_error_free (error);
+ return NULL;
+ }
}
return g_regex_ref (uri_regex);
@@ -75,6 +82,11 @@ empathy_string_match_link (const gchar *text,
gint last = 0;
uri_regex = uri_regex_dup_singleton ();
+ if (uri_regex == NULL) {
+ empathy_string_parser_substr (text, len, sub_parsers, user_data);
+ return;
+ }
+
match = g_regex_match_full (uri_regex, text, len, 0, 0, &match_info, NULL);
if (match) {
gint s = 0, e = 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]