From 623ba9a279db035339ac8ae5030683c1e79b8618 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Sun, 14 May 2000 14:17:51 +0000 Subject: Added e_strdup_strip which returns a copy of the string with the leading 2000-05-14 Christopher James Lahey * e-util.c, e-util.h: Added e_strdup_strip which returns a copy of the string with the leading and trailing spaces removed. svn path=/trunk/; revision=3026 --- e-util/ChangeLog | 5 +++++ e-util/e-util.c | 18 ++++++++++++++++++ e-util/e-util.c-8611 | 18 ++++++++++++++++++ e-util/e-util.h | 2 ++ e-util/e-util.h-29002 | 2 ++ 5 files changed, 45 insertions(+) diff --git a/e-util/ChangeLog b/e-util/ChangeLog index 367885919f..015d840969 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,8 @@ +2000-05-14 Christopher James Lahey + + * e-util.c, e-util.h: Added e_strdup_strip which returns a copy of + the string with the leading and trailing spaces removed. + 2000-05-11 NotZed * e-sexp.c (e_sexp_finalise): Destroy the g_scanner when cleaning up. diff --git a/e-util/e-util.c b/e-util/e-util.c index d5603d3dfa..33c10aba5c 100644 --- a/e-util/e-util.c +++ b/e-util/e-util.c @@ -25,6 +25,7 @@ #include #include #include +#include #include "e-util.h" @@ -45,6 +46,23 @@ g_int_compare(const void *x, const void *y) return -1; } +char * +e_strdup_strip(char *string) +{ + int i; + int length = 0; + int initial = 0; + for ( i = 0; string[i]; i++ ) { + if (initial == i && isspace(string[i])) { + initial ++; + } + if (!isspace(string[i])) { + length = i - initial + 1; + } + } + return g_strndup(string + initial, length); +} + void e_free_object_list (GList *list) { diff --git a/e-util/e-util.c-8611 b/e-util/e-util.c-8611 index d5603d3dfa..33c10aba5c 100644 --- a/e-util/e-util.c-8611 +++ b/e-util/e-util.c-8611 @@ -25,6 +25,7 @@ #include #include #include +#include #include "e-util.h" @@ -45,6 +46,23 @@ g_int_compare(const void *x, const void *y) return -1; } +char * +e_strdup_strip(char *string) +{ + int i; + int length = 0; + int initial = 0; + for ( i = 0; string[i]; i++ ) { + if (initial == i && isspace(string[i])) { + initial ++; + } + if (!isspace(string[i])) { + length = i - initial + 1; + } + } + return g_strndup(string + initial, length); +} + void e_free_object_list (GList *list) { diff --git a/e-util/e-util.h b/e-util/e-util.h index b8d49c9928..2043235cf7 100644 --- a/e-util/e-util.h +++ b/e-util/e-util.h @@ -34,6 +34,8 @@ typedef enum { int g_str_compare(const void *x, const void *y); int g_int_compare(const void *x, const void *y); +char *e_strdup_strip(char *string); + void e_free_object_list (GList *list); char *e_read_file(const char *filename); diff --git a/e-util/e-util.h-29002 b/e-util/e-util.h-29002 index b8d49c9928..2043235cf7 100644 --- a/e-util/e-util.h-29002 +++ b/e-util/e-util.h-29002 @@ -34,6 +34,8 @@ typedef enum { int g_str_compare(const void *x, const void *y); int g_int_compare(const void *x, const void *y); +char *e_strdup_strip(char *string); + void e_free_object_list (GList *list); char *e_read_file(const char *filename); -- cgit