From ed7a82317583803c1d5bc37654584d2f121ae195 Mon Sep 17 00:00:00 2001 From: van Hauser Date: Thu, 25 Jun 2015 09:53:17 +0200 Subject: [PATCH] readability --- hydra-mod.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hydra-mod.c b/hydra-mod.c index 38369b4..f8731f0 100644 --- a/hydra-mod.c +++ b/hydra-mod.c @@ -1209,16 +1209,20 @@ char *hydra_string_replace(const char *string, const char *substr, const char *r char *tok = NULL; char *newstr = NULL; + if (string == NULL) + return NULL; + if (substr == NULL || replacement == NULL) + return strdup(string); tok = strstr(string, substr); if (tok == NULL) return strdup(string); - newstr = malloc(strlen(string) - strlen(substr) + strlen(replacement) + 1); + newstr = malloc(strlen(string) - strlen(substr) + strlen(replacement) + 2); if (newstr == NULL) return NULL; + memset(newstr, 0, strlen(string) - strlen(substr) + strlen(replacement) + 2); memcpy(newstr, string, tok - string); memcpy(newstr + (tok - string), replacement, strlen(replacement)); memcpy(newstr + (tok - string) + strlen(replacement), tok + strlen(substr), strlen(string) - strlen(substr) - (tok - string)); - memset(newstr + strlen(string) - strlen(substr) + strlen(replacement), 0, 1); return newstr; }