diff options
author | Tomas Popela <tpopela@redhat.com> | 2014-06-09 22:32:25 +0800 |
---|---|---|
committer | Tomas Popela <tpopela@redhat.com> | 2014-06-09 22:32:25 +0800 |
commit | 8650fb139a9143f04615de74ff569bce3e0c4ce3 (patch) | |
tree | 89a41d08f179a5359b8eaee0c9344b8a5bf07cb3 /e-util/e-misc-utils.c | |
parent | 04b7c97275ae420dca43f3e65c2ef54d02f01bdd (diff) | |
download | gsoc2013-evolution-8650fb139a9143f04615de74ff569bce3e0c4ce3.tar gsoc2013-evolution-8650fb139a9143f04615de74ff569bce3e0c4ce3.tar.gz gsoc2013-evolution-8650fb139a9143f04615de74ff569bce3e0c4ce3.tar.bz2 gsoc2013-evolution-8650fb139a9143f04615de74ff569bce3e0c4ce3.tar.lz gsoc2013-evolution-8650fb139a9143f04615de74ff569bce3e0c4ce3.tar.xz gsoc2013-evolution-8650fb139a9143f04615de74ff569bce3e0c4ce3.tar.zst gsoc2013-evolution-8650fb139a9143f04615de74ff569bce3e0c4ce3.zip |
Bug 540362: [webkit-composer] Use webkit for composer
Merge wip/webkit-composer branch into master.
Diffstat (limited to 'e-util/e-misc-utils.c')
-rw-r--r-- | e-util/e-misc-utils.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/e-util/e-misc-utils.c b/e-util/e-misc-utils.c index 510dad39b2..88f6da9599 100644 --- a/e-util/e-misc-utils.c +++ b/e-util/e-misc-utils.c @@ -1089,6 +1089,50 @@ e_str_without_underscores (const gchar *string) return new_string; } +/** + * e_str_replace_string + * @text: the string to replace + * @before: the string to be replaced + * @after: the string to replaced with + * + * Replaces every occurrence of the string @before with the string @after in + * the string @text and returns a #GString with result that should be freed + * with g_string_free(). + * + * Returns: a newly-allocated #GString + */ +GString * +e_str_replace_string (const gchar *text, + const gchar *before, + const gchar *after) +{ + const gchar *p, *next; + GString *str; + gint find_len; + + g_return_val_if_fail (text != NULL, NULL); + g_return_val_if_fail (before != NULL, NULL); + g_return_val_if_fail (*before, NULL); + + find_len = strlen (before); + str = g_string_new (""); + + p = text; + while (next = strstr (p, before), next) { + if (p < next) + g_string_append_len (str, p, next - p); + + if (after && *after) + g_string_append (str, after); + + p = next + find_len; + } + + g_string_append (str, p); + + return str; +} + gint e_str_compare (gconstpointer x, gconstpointer y) |