summaryrefslogtreecommitdiffstats
path: root/linux
diff options
context:
space:
mode:
authorjkeil <jkeil@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-26 18:53:00 +0000
committerjkeil <jkeil@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-26 18:53:00 +0000
commit68b4d93587306bb2a9e6e0ad5d6cfcf260103901 (patch)
treeba165bae79e5cdab55b6c32a2b0c100cf5868b74 /linux
parent3a072d1e6ec62ec1c3d0de32291833dd98c87b99 (diff)
downloadmpv-68b4d93587306bb2a9e6e0ad5d6cfcf260103901.tar.bz2
mpv-68b4d93587306bb2a9e6e0ad5d6cfcf260103901.tar.xz
Add our own vsscanf implementation, in case the system's libc does not have
one. (required for solaris, when the Ogg/Vorbis audio decoder is used) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8291 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'linux')
-rw-r--r--linux/Makefile2
-rw-r--r--linux/vsscanf.c20
2 files changed, 21 insertions, 1 deletions
diff --git a/linux/Makefile b/linux/Makefile
index 342445004c..01b5a358e9 100644
--- a/linux/Makefile
+++ b/linux/Makefile
@@ -3,7 +3,7 @@ include ../config.mak
LIBNAME = libosdep.a
-SRCS=getch2.c timer-lx.c shmem.c strsep.c scandir.c # timer.c
+SRCS=getch2.c timer-lx.c shmem.c strsep.c vsscanf.c scandir.c # timer.c
OBJS=$(SRCS:.c=.o)
ifeq ($(TARGET_ARCH_X86),yes)
diff --git a/linux/vsscanf.c b/linux/vsscanf.c
new file mode 100644
index 0000000000..49bfebe56c
--- /dev/null
+++ b/linux/vsscanf.c
@@ -0,0 +1,20 @@
+#include "../config.h"
+
+#ifndef HAVE_VSSCANF
+/* system has no vsscanf. try to provide one */
+
+#include <stdio.h>
+#include <stdarg.h>
+
+int
+vsscanf(const char *str, const char *format, va_list ap)
+{
+ /* XXX: can this be implemented in a more portable way? */
+ long p1 = va_arg(ap, long);
+ long p2 = va_arg(ap, long);
+ long p3 = va_arg(ap, long);
+ long p4 = va_arg(ap, long);
+ long p5 = va_arg(ap, long);
+ return sscanf(str, format, p1, p2, p3, p4, p5);
+}
+#endif