diff --git a/ChangeLog b/ChangeLog index 69be09eb60..bd1ab8199c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-02-28 Cedric Bail + + * eina_strlcat work with a NULL src. + + 2013-02-26 Carsten Haitzler (The Rasterman) * Fix evas GL common engine to have a shader to do oversampling on diff --git a/NEWS b/NEWS index 2bfd3763a5..71d46a4a8f 100644 --- a/NEWS +++ b/NEWS @@ -114,6 +114,7 @@ Improvements: * edje: reduce memory consumption of Edje program handler. * eina, evas: improved support for 64bits system. * Evas GL engine downscale quality in smooth mode much improved with multisampling up to effectively 16x16 via shaders. + * eina: eina_strlcat now work with a NULL source. Fixes: * Fix a memory leak in ecore_con_dns when using ecore_con_server_connect diff --git a/src/lib/eina/eina_str.c b/src/lib/eina/eina_str.c index 65389c7cd4..0409859eb9 100644 --- a/src/lib/eina/eina_str.c +++ b/src/lib/eina/eina_str.c @@ -347,16 +347,19 @@ eina_strlcat(char *dst, const char *src, size_t siz) n = siz - dlen; if (n == 0) - return(dlen + strlen(s)); + return(dlen + (s ? strlen(s) : 0)); - while (*s != '\0') { - if (n != 1) - { - *d++ = *s; - n--; - } + if (s != NULL) + { + while (*s != '\0') { + if (n != 1) + { + *d++ = *s; + n--; + } - s++; + s++; + } } *d = '\0';