diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-07-15 00:39:01 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-07-15 00:39:01 +0000 |
commit | b6486df40eb4e37d20c387ad386248231383f0e8 (patch) | |
tree | 991a3938a32d6c27484076dd80d878ebad6f9010 /utils.c | |
parent | dcfabce0e457430a96412e45701c6b0ac6bd6903 (diff) |
first phase of proper fix for portable string function problems (bug #4669)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'utils.c')
-rwxr-xr-x | utils.c | 26 |
1 files changed, 25 insertions, 1 deletions
@@ -535,4 +535,28 @@ char *ast_strcasestr(const char *haystack, const char *needle) return NULL; } } -#endif /* LINUX */ + +size_t ast_strnlen(const char *s, size_t n) +{ + size_t len; + + for (len=0; len < n; len++) + if (s[len] == '\0') + break; + + return len; +} + +char *ast_strndup(const char *s, size_t n) +{ + size_t len = ast_strnlen(s, n); + char *new = malloc(len + 1); + + if (!new) + return NULL; + + new[len] = '\0'; + return memcpy(new, s, len); +} + +#endif /* !LINUX */ |