From 2b406a54c6f452278bb63ce30927521e48542c98 Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Tue, 21 Apr 2009 15:25:15 +0200 Subject: [PATCH] Util: Improve _strdup. --- src/util.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/util.c b/src/util.c index 9239e85..0ff456d 100644 --- a/src/util.c +++ b/src/util.c @@ -93,24 +93,20 @@ setwinstate(Window win, long state) } /** My strdup. the strdup of string.h isn't ansi compatible.. + * Thanks linkkd. * \param str char pointer */ char* _strdup(char const *str) { - char *ret = NULL; + char *ret = emalloc(strlen(str) + 1, sizeof(char)); - if(str != NULL) - { - ret = malloc((strlen(str) + 1) * sizeof *ret); - if(ret != NULL) - strcpy(ret, str); - } + memset(ret, strlen(str) + 1, 0); + strcpy(ret, str); return ret; } - /* The following function are for configuration usage. {{{ */