From: Philip Gladstone Date: Fri, 10 May 2002 02:17:41 +0000 (+0000) Subject: * Add implementation of strlcpy X-Git-Tag: v0.5~17821 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8d1335ea2b77d71a7f17db47f65b43758ea56a2f;p=platform%2Fupstream%2Flibav.git * Add implementation of strlcpy * Fix endless loop in find_info_tag if given specific arguments Originally committed as revision 481 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libav/utils.c b/libav/utils.c index 8520656..161e72c 100644 --- a/libav/utils.c +++ b/libav/utils.c @@ -124,6 +124,18 @@ void nstrcpy(char *buf, int buf_size, const char *str) *q = '\0'; } +void strlcpy(char *dst, const char *src, int len) +{ + int slen = strlen(src) + 1; + + if (slen <= len) { + memcpy(dst, src, slen); + } else { + memcpy(dst, src, len - 1); + dst[len - 1] = 0; + } +} + void register_all(void) { avcodec_init(); @@ -561,6 +573,7 @@ int find_info_tag(char *arg, int arg_size, const char *tag1, const char *info) return 1; if (*p != '&') break; + p++; } return 0; }