aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Barrucadu <mike@barrucadu.co.uk>2009-05-04 09:04:09 +0100
committerGravatar Barrucadu <mike@barrucadu.co.uk>2009-05-04 09:04:09 +0100
commite9cfdd0f9cef05fe25201d493efa763ee13447d3 (patch)
treef8a978fb4e1aea95bbd9ed86c3a17c25543b8c8f
parent390f12bc918c8e5b4054a0475493197088848660 (diff)
Replaced str_replace to be far, far nicer.
-rw-r--r--uzbl.c19
1 files changed, 1 insertions, 18 deletions
diff --git a/uzbl.c b/uzbl.c
index dce8bba..3037484 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -134,24 +134,7 @@ itos(int val) {
static char *
str_replace (const char* search, const char* replace, const char* string) {
- char newstring[1024];
- char tempstring[1024];
- unsigned int i = 0;
-
- memset (newstring, 0, sizeof (newstring));
-
- for (i = 0; i < strlen (string) - strlen (search); i ++) {
- memset (tempstring, 0, sizeof (tempstring));
- strncpy (tempstring, string + i, strlen (search));
-
- if (strcmp (tempstring, search) == 0) {
- strncpy (newstring, string, i);
- strcat (newstring, replace);
- strcat (newstring, string + i + strlen (search));
- }
- }
-
- return (char *)newstring;
+ return g_strjoinv (replace, g_strsplit(string, search, -1));
}
/* --- CALLBACKS --- */