aboutsummaryrefslogtreecommitdiffstats
path: root/camel/string-utils.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-11-01 05:41:26 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2002-11-01 05:41:26 +0800
commitf48db35928c31854f828f04d52b5ee9df858e4e5 (patch)
tree8af24d75b2810e5b8f44a7c7bc4109ff8926a733 /camel/string-utils.c
parent613453b1095e325149b8d37e5731d415e1d5f9bd (diff)
downloadgsoc2013-evolution-f48db35928c31854f828f04d52b5ee9df858e4e5.tar
gsoc2013-evolution-f48db35928c31854f828f04d52b5ee9df858e4e5.tar.gz
gsoc2013-evolution-f48db35928c31854f828f04d52b5ee9df858e4e5.tar.bz2
gsoc2013-evolution-f48db35928c31854f828f04d52b5ee9df858e4e5.tar.lz
gsoc2013-evolution-f48db35928c31854f828f04d52b5ee9df858e4e5.tar.xz
gsoc2013-evolution-f48db35928c31854f828f04d52b5ee9df858e4e5.tar.zst
gsoc2013-evolution-f48db35928c31854f828f04d52b5ee9df858e4e5.zip
Remove a ton of useless snot.
2002-10-31 Jeffrey Stedfast <fejj@ximian.com> Remove a ton of useless snot. * Makefile.am: Remove gstring-util.[c,h] from the build. * gstring-util.[c,h]: Removed. * string-utils.c (string_equal_for_glist): Removed. (string_split): Removed. (string_trim): Removed. (string_prefix): Removed. (string_unquote): Removed. (strip): Removed. * hash-table-utils.c (g_hash_table_generic_free): Removed. g_str[n]casecmp functions are deprecated in glib2. * string-utils.c (strstrcase): Use strncasecmp instead of g_strncasecmp. * hash-table-utils.c (g_strcase_equal): Use strcasecmp instead of g_strcasecmp. * camel-smime-utils.c (camel_smime_is_smime_v3_signed): Same. (camel_smime_is_smime_v3_encrypted): Here too. * camel-sasl-digest-md5.c (decode_data_type): And here. (parse_server_challenge): Again here. * camel-pgp-mime.c (camel_pgp_mime_is_rfc2015_signed): Same. (camel_pgp_mime_is_rfc2015_encrypted): Same * camel-mime-part-utils.c (check_html_charset): Here too. * camel-folder-summary.c (camel_system_flag): Same. svn path=/trunk/; revision=18472
Diffstat (limited to 'camel/string-utils.c')
-rw-r--r--camel/string-utils.c209
1 files changed, 24 insertions, 185 deletions
diff --git a/camel/string-utils.c b/camel/string-utils.c
index 1e2fa103ef..02cfded80c 100644
--- a/camel/string-utils.c
+++ b/camel/string-utils.c
@@ -1,210 +1,49 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* string-util : utilities for gchar* strings */
-
-/*
+/*
+ * Authors: Jeffrey Stedfast <fejj@ximian.com>
*
- * Authors: Bertrand Guiheneuf <bertrand@helixcode.com>
- * Jeffrey Stedfast <fejj@ximian.com>
+ * Copyright 2002 Ximian, Inc. (www.ximian.com)
*
- * Copyright 1999, 2000 Ximian, Inc. (www.ximian.com)
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA
*/
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <string.h>
+
#include "string-utils.h"
-#include "string.h"
-gboolean
-string_equal_for_glist (gconstpointer v, gconstpointer v2)
-{
- return (!strcmp ( ((const gchar *)v), ((const gchar*)v2))) == 0;
-}
-/* utility func : frees a gchar element in a GList */
-static void
-__string_list_free_string (gpointer data, gpointer user_data)
+static void
+free_string (gpointer string, gpointer user_data)
{
- gchar *string = (gchar *)data;
g_free (string);
}
void
string_list_free (GList *string_list)
{
- if (string_list == NULL) return;
-
- g_list_foreach (string_list, __string_list_free_string, NULL);
- g_list_free (string_list);
-}
-
-GList *
-string_split (const gchar *string, char sep, const gchar *trim_chars, StringTrimOption trim_options)
-{
- GList *result = NULL;
- gint first, last, pos;
- gchar *new_string;
-
- g_assert (string);
-
- first = 0;
- last = strlen(string) - 1;
-
- /* strip leading and trailing separators */
- while ( (first<=last) && (string[first]==sep) )
- first++;
- while ( (first<=last) && (string[last]==sep) )
- last--;
-
-
- while (first<=last) {
- pos = first;
- /* find next separator */
- while ((pos<=last) && (string[pos]!=sep)) pos++;
- if (first != pos) {
- new_string = g_strndup (string+first, pos-first);
- /* could do trimming in line to speed up this code */
- if (trim_chars) string_trim (new_string, trim_chars, trim_options);
- result = g_list_append (result, new_string);
- }
- first = pos + 1;
- }
-
- return result;
-}
-
-void
-string_trim (gchar *string, const gchar *trim_chars, StringTrimOption options)
-{
- gint first_ok;
- gint last_ok;
- guint length;
-
- g_return_if_fail (string);
- length = strlen (string);
- if (length==0)
- return;
-
- first_ok = 0;
- last_ok = length - 1;
-
- if (options & STRING_TRIM_STRIP_LEADING)
- while ( (first_ok <= last_ok) && (strchr (trim_chars, string[first_ok])!=NULL) )
- first_ok++;
+ if (string_list == NULL)
+ return;
- if (options & STRING_TRIM_STRIP_TRAILING)
- while ( (first_ok <= last_ok) && (strchr (trim_chars, string[last_ok])!=NULL) )
- last_ok--;
-
- if (first_ok > 0)
- memmove (string, string+first_ok, last_ok - first_ok + 1);
- string[last_ok - first_ok +1] = '\0';
-
-}
-
-
-/**
- * remove_suffix: remove a suffix from a string
- * @s: the string to remove the suffix from.
- * @suffix: the suffix to remove
- * @suffix_found : suffix found flag
- *
- * Remove a suffix from a string. If the
- * string ends with the full suffix, a copy
- * of the string without the suffix is returned and
- * @suffix_found is set to %TRUE.
- * Otherwise, NULL is returned and
- * @suffix_found is set to %FALSE.
- *
- * Return value: an allocated copy of the string without the suffix or NULL if the suffix was not found.
- **/
-gchar *
-string_prefix (const gchar *s, const gchar *suffix, gboolean *suffix_found)
-{
- guint s_len, suf_len;
- guint suffix_pos;
- char *result_string;
-
- g_assert (s);
- g_assert (suffix);
- g_assert (suffix_found);
-
- s_len = strlen (s);
- suf_len = strlen (suffix);
-
- /* if the string is shorter than the suffix, do nothing */
- if (s_len < suf_len) {
- *suffix_found = FALSE;
- return NULL;
- }
-
- /* theoretical position of the prefix */
- suffix_pos = s_len - suf_len;
-
- /* compare the right hand side of the string with the suffix */
- if (!strncmp (s+suffix_pos, suffix, suf_len)) {
-
- /* if the suffix matches, check that there are
- characters before */
- if (suffix_pos == 0) {
- result_string = NULL;
- *suffix_found = TRUE;
- } else {
- result_string = g_strndup (s, suffix_pos);
- *suffix_found = TRUE;
- }
-
- } else {
- result_string = NULL;
- *suffix_found = FALSE;
- }
-
- return result_string;
-}
-
-void
-string_unquote (gchar *string)
-{
- /* if the string is quoted, unquote it */
-
- g_return_if_fail (string != NULL);
-
- if (*string == '"' && *(string + strlen (string) - 1) == '"') {
- *(string + strlen (string) - 1) = '\0';
- if (*string)
- memmove (string, string+1, strlen (string));
- }
-}
-
-gchar *
-strip (gchar *string, gchar c)
-{
- /* strip all occurances of c from the string */
- gchar *src, *dst;
-
- g_return_val_if_fail (string != NULL, NULL);
-
- for (src = dst = string; *src; src++)
- if (*src != c)
- *dst++ = *src;
- *dst = '\0';
-
- return string;
+ g_list_foreach (string_list, free_string, NULL);
+ g_list_free (string_list);
}
char *
@@ -225,7 +64,7 @@ strstrcase (const char *haystack, const char *needle)
return (char *) haystack;
for (ptr = haystack; *(ptr + len - 1) != '\0'; ptr++)
- if (!g_strncasecmp (ptr, needle, len))
+ if (!strncasecmp (ptr, needle, len))
return (char *) ptr;
return NULL;