From 8d1335ea2b77d71a7f17db47f65b43758ea56a2f Mon Sep 17 00:00:00 2001
From: Philip Gladstone <philipjsg@users.sourceforge.net>
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 8520656a1b5..161e72ceef3 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;
 }
-- 
GitLab