--- Revision 5298 +++ Revision 5302 @@ -32,8 +32,8 @@ #include #include "callweaver/inline_api.h" -#include "callweaver/compiler.h" + static inline int cw_strlen_zero(const char *s) { return (!s || (*s == '\0')); @@ -129,12 +129,13 @@ CW_INLINE_API( void cw_copy_string(char *dst, const char *src, size_t size), { - while (*src && size) { + while (*src) { *dst++ = *src++; - size--; + if (--size) + continue; + dst--; + break; } - if (__builtin_expect(!size, 0)) - dst--; *dst = '\0'; } )