[gedit] Move caseless_nmatch to a static function



commit 3d39092b71e1a4aec3dc29ad63d4ed357e5d913d
Author: Paolo Borelli <pborelli gnome org>
Date:   Sun Nov 21 12:57:42 2010 +0100

    Move caseless_nmatch to a static function
    
    It is only used in one place and we should not stomp on the g_ namespace

 gedit/gedit-commands-search.c |   56 +++++++++++++++++++++++++++++++++++-----
 gedit/gedit-utils.c           |   44 --------------------------------
 gedit/gedit-utils.h           |    5 ---
 3 files changed, 49 insertions(+), 56 deletions(-)
---
diff --git a/gedit/gedit-commands-search.c b/gedit/gedit-commands-search.c
index 58fb40d..04a433d 100644
--- a/gedit/gedit-commands-search.c
+++ b/gedit/gedit-commands-search.c
@@ -309,6 +309,48 @@ get_selected_text (GtkTextBuffer  *doc,
 	return TRUE;
 }
 
+/* n: len of the string in bytes */
+static gboolean
+utf8_caselessnmatch (const char *s1,
+		     const char *s2,
+		     gssize      n1,
+		     gssize      n2)
+{
+	gchar *casefold;
+	gchar *normalized_s1;
+	gchar *normalized_s2;
+	gint len_s1;
+	gint len_s2;
+	gboolean ret = FALSE;
+
+	g_return_val_if_fail (s1 != NULL, FALSE);
+	g_return_val_if_fail (s2 != NULL, FALSE);
+	g_return_val_if_fail (n1 > 0, FALSE);
+	g_return_val_if_fail (n2 > 0, FALSE);
+
+	casefold = g_utf8_casefold (s1, n1);
+	normalized_s1 = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD);
+	g_free (casefold);
+
+	casefold = g_utf8_casefold (s2, n2);
+	normalized_s2 = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD);
+	g_free (casefold);
+
+	len_s1 = strlen (normalized_s1);
+	len_s2 = strlen (normalized_s2);
+
+	if (len_s1 < len_s2)
+		goto finally_2;
+
+	ret = (strncmp (normalized_s1, normalized_s2, len_s2) == 0);
+
+finally_2:
+	g_free (normalized_s1);
+	g_free (normalized_s2);
+
+	return ret;
+}
+
 static void
 replace_selected_text (GtkTextBuffer *buffer,
 		       const gchar   *replace)
@@ -358,15 +400,15 @@ do_replace (GeditReplaceDialog *dialog,
 	match_case = gedit_replace_dialog_get_match_case (dialog);
 
 	if ((selected_text == NULL) ||
-	    (match_case && (strcmp (selected_text, unescaped_search_text) != 0)) || 
-	    (!match_case && !g_utf8_caselessnmatch (selected_text,
-						    unescaped_search_text, 
-						    strlen (selected_text), 
-						    strlen (unescaped_search_text)) != 0))
+	    (match_case && (strcmp (selected_text, unescaped_search_text) != 0)) ||
+	    (!match_case && !utf8_caselessnmatch (selected_text,
+						  unescaped_search_text,
+						  strlen (selected_text),
+						  strlen (unescaped_search_text)) != 0))
 	{
 		do_find (dialog, window);
 		g_free (unescaped_search_text);
-		g_free (selected_text);	
+		g_free (selected_text);
 
 		return;
 	}
@@ -377,7 +419,7 @@ do_replace (GeditReplaceDialog *dialog,
 	g_free (unescaped_search_text);
 	g_free (selected_text);
 	g_free (unescaped_replace_text);
-	
+
 	do_find (dialog, window);
 }
 
diff --git a/gedit/gedit-utils.c b/gedit/gedit-utils.c
index 621b042..f93db15 100644
--- a/gedit/gedit-utils.c
+++ b/gedit/gedit-utils.c
@@ -209,50 +209,6 @@ gedit_dialog_add_button (GtkDialog   *dialog,
 	return button;
 }
 
-/*
- * n: len of the string in bytes
- */
-gboolean 
-g_utf8_caselessnmatch (const char *s1,
-		       const char *s2,
-		       gssize      n1,
-		       gssize      n2)
-{
-	gchar *casefold;
-	gchar *normalized_s1;
-      	gchar *normalized_s2;
-	gint len_s1;
-	gint len_s2;
-	gboolean ret = FALSE;
-
-	g_return_val_if_fail (s1 != NULL, FALSE);
-	g_return_val_if_fail (s2 != NULL, FALSE);
-	g_return_val_if_fail (n1 > 0, FALSE);
-	g_return_val_if_fail (n2 > 0, FALSE);
-
-	casefold = g_utf8_casefold (s1, n1);
-	normalized_s1 = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD);
-	g_free (casefold);
-
-	casefold = g_utf8_casefold (s2, n2);
-	normalized_s2 = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD);
-	g_free (casefold);
-
-	len_s1 = strlen (normalized_s1);
-	len_s2 = strlen (normalized_s2);
-
-	if (len_s1 < len_s2)
-		goto finally_2;
-
-	ret = (strncmp (normalized_s1, normalized_s2, len_s2) == 0);
-	
-finally_2:
-	g_free (normalized_s1);
-	g_free (normalized_s2);	
-
-	return ret;
-}
-
 /**
  * gedit_utils_set_atk_name_description:
  * @widget: The Gtk widget for which name/description to be set
diff --git a/gedit/gedit-utils.h b/gedit/gedit-utils.h
index 3495bdf..604b251 100644
--- a/gedit/gedit-utils.h
+++ b/gedit/gedit-utils.h
@@ -82,11 +82,6 @@ gchar		*gedit_utils_str_middle_truncate	(const gchar      *string,
 gchar		*gedit_utils_str_end_truncate		(const gchar      *string,
 							 guint             truncate_length);
 
-gboolean	 g_utf8_caselessnmatch			(const char       *s1,
-							 const char       *s2,
-							 gssize            n1,
-							 gssize            n2);
-
 void		 gedit_utils_set_atk_name_description	(GtkWidget        *widget,
 							 const gchar      *name,
 							 const gchar      *description);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]