From 8d1335ea2b77d71a7f17db47f65b43758ea56a2f Mon Sep 17 00:00:00 2001 From: Philip Gladstone Date: Fri, 10 May 2002 02:17:41 +0000 Subject: [PATCH] * 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 --- libav/utils.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libav/utils.c b/libav/utils.c index 8520656a1b..161e72ceef 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; }