summaryrefslogtreecommitdiff
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2012-09-14 19:08:19 (GMT)
committer Derek Buitenhuis <derek.buitenhuis@gmail.com>2012-09-15 23:46:48 (GMT)
commite1b449604018c4e5eedf4abf393c0a170fd407cb (patch)
tree8cf1f2122d139464dc831c0ba8e04d28daab1115
parent31fbdecce8ecb5dbdc8de65553c4405b0827cc97 (diff)
downloadffmpeg-e1b449604018c4e5eedf4abf393c0a170fd407cb.zip
ffmpeg-e1b449604018c4e5eedf4abf393c0a170fd407cb.tar.gz
ffmpeg-e1b449604018c4e5eedf4abf393c0a170fd407cb.tar.bz2
msvc: Add a va_copy compatability macro for msvc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diffstat
-rw-r--r--cmdutils.c1
-rw-r--r--compat/msvcrt/snprintf.c1
-rw-r--r--compat/va_copy.h26
3 files changed, 28 insertions, 0 deletions
diff --git a/cmdutils.c b/cmdutils.c
index a0ad3ef..3ed143e 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -29,6 +29,7 @@
references to libraries that are not being built. */
#include "config.h"
+#include "compat/va_copy.h"
#include "libavformat/avformat.h"
#include "libavfilter/avfilter.h"
#include "libavdevice/avdevice.h"
diff --git a/compat/msvcrt/snprintf.c b/compat/msvcrt/snprintf.c
index 0800192..36f6dd1 100644
--- a/compat/msvcrt/snprintf.c
+++ b/compat/msvcrt/snprintf.c
@@ -24,6 +24,7 @@
#include <limits.h>
#include <string.h>
+#include "compat/va_copy.h"
#include "libavutil/error.h"
int avpriv_snprintf(char *s, size_t n, const char *fmt, ...)
diff --git a/compat/va_copy.h b/compat/va_copy.h
new file mode 100644
index 0000000..f894771
--- a/dev/null
+++ b/compat/va_copy.h
@@ -0,0 +1,26 @@
+/*
+ * MSVC Compatible va_copy macro
+ * Copyright (c) 2012 Derek Buitenhuis
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <stdarg.h>
+
+#if !defined(va_copy) && defined(_MSC_VER)
+#define va_copy(dst, src) ((dst) = (src))
+#endif