aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-util.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-07-13 06:59:25 +0800
committerChris Lahey <clahey@src.gnome.org>2000-07-13 06:59:25 +0800
commit5e764dcac939cf6e3386234304bfa1bac862f8cf (patch)
treef0a85caee3a9a46d251e293a7b8cb253411a0630 /e-util/e-util.c
parent247366f851afcaff367fcf13c130e3f727566864 (diff)
downloadgsoc2013-evolution-5e764dcac939cf6e3386234304bfa1bac862f8cf.tar.gz
gsoc2013-evolution-5e764dcac939cf6e3386234304bfa1bac862f8cf.tar.zst
gsoc2013-evolution-5e764dcac939cf6e3386234304bfa1bac862f8cf.zip
From addressbook/ChangeLog:
2000-07-12 Christopher James Lahey <clahey@helixcode.com> * backend/pas/pas-backend-file.c: Do case insensitive compares. * addressbook/gui/component/addressbook.c: Make quick search search both name and company name. From camel/ChangeLog: 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, providers/imap/camel-imap-store.c: Changed from strstrcase to e_strstrcase. * string-utils.c, string-utils.h: Removed strstrcase (in favor of e_strstrcase in e-util/e-util.c.) From e-util/ChangeLog: 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * e-util.c, e-util.h: Added e_strstrcase function. svn path=/trunk/; revision=4127
Diffstat (limited to 'e-util/e-util.c')
-rw-r--r--e-util/e-util.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/e-util/e-util.c b/e-util/e-util.c
index 3dea9282c3..c8c60fe1b3 100644
--- a/e-util/e-util.c
+++ b/e-util/e-util.c
@@ -305,3 +305,27 @@ e_strsplit (const gchar *string,
return str_array;
}
+
+gchar *
+e_strstrcase (const gchar *haystack, const gchar *needle)
+{
+ /* find the needle in the haystack neglecting case */
+ gchar *ptr;
+ guint len;
+
+ g_return_val_if_fail (haystack != NULL, NULL);
+ g_return_val_if_fail (needle != NULL, NULL);
+
+ len = strlen(needle);
+ if (len > strlen(haystack))
+ return NULL;
+
+ if (len == 0)
+ return haystack;
+
+ for (ptr = (char *)haystack; *(ptr + len - 1) != '\0'; ptr++)
+ if (!g_strncasecmp(ptr, needle, len))
+ return ptr;
+
+ return NULL;
+}