[FFmpeg-devel] [PATCH 2/2] avutil/log: added test case for av_log_format_line2

der_ghulbus at ghulbus-inc.de der_ghulbus at ghulbus-inc.de
Mon Apr 25 08:32:24 CEST 2016


From: Andreas Weis <github at ghulbus-inc.de>

Signed-off-by: Andreas Weis <github at ghulbus-inc.de>
---
 libavutil/log.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/libavutil/log.c b/libavutil/log.c
index 0efba7a..6d192b6 100644
--- a/libavutil/log.c
+++ b/libavutil/log.c
@@ -444,6 +444,17 @@ void avpriv_report_missing_feature(void *avc, const char *msg, ...)
 // LCOV_EXCL_START
 #include <string.h>
 
+int call_log_format_line2(const char *fmt, char *buffer, int buffer_size, ...)
+{
+    va_list args;
+    int ret;
+    int print_prefix=1;
+    va_start(args, buffer_size);
+    ret = av_log_format_line2(NULL, AV_LOG_INFO, fmt, args, buffer, buffer_size, &print_prefix);
+    va_end(args);
+    return ret;
+}
+
 int main(int argc, char **argv)
 {
     int i;
@@ -458,6 +469,25 @@ int main(int argc, char **argv)
         }
         av_log(NULL, AV_LOG_PANIC, "\n");
     }
+    {
+        int result;
+        char buffer[4];
+        result = call_log_format_line2("foo", NULL, 0);
+        if(result != 3) {
+            printf("Test NULL buffer failed.\n");
+            return 1;
+        }
+        result = call_log_format_line2("foo", buffer, 2);
+        if(result != 3 || strncmp(buffer, "f", 2)) {
+            printf("Test buffer too small failed.\n");
+            return 1;
+        }
+        result = call_log_format_line2("foo", buffer, 4);
+        if(result != 3 || strncmp(buffer, "foo", 4)) {
+            printf("Test buffer sufficiently big failed.\n");
+            return 1;
+        }
+    }
     return 0;
 }
 // LCOV_EXCL_STOP
-- 
2.5.0.windows.1



More information about the ffmpeg-devel mailing list