blob: 5299945e19298607f27fad6ba74748906bfdabbc [file] [log] [blame]
Index: alsa-oss-1.0.28/alsa/stdioemu.c
===================================================================
--- alsa-oss-1.0.28.orig/alsa/stdioemu.c
+++ alsa-oss-1.0.28/alsa/stdioemu.c
@@ -37,7 +37,9 @@
#endif
#include <stdio.h>
+#ifdef HAVE_LIBIO_H
#include <libio.h>
+#endif
struct fd_cookie {
int fd;
@@ -99,7 +101,11 @@ static FILE *fake_fopen(const char *path
if (open_mode && fdc->fd > 0) {
result = fopencookie (fdc,"w", fns);
+#ifdef HAVE_FILENO
result->_fileno = fdc->fd; /* ugly patchy slimy kludgy hack */
+#else
+ result->__filedes = fdc->fd;
+#endif
}
return result;
}
Index: alsa-oss-1.0.28/configure.ac
===================================================================
--- alsa-oss-1.0.28.orig/configure.ac
+++ alsa-oss-1.0.28/configure.ac
@@ -35,6 +35,12 @@ if test "$with_aoss" = "yes"; then
LIBS="$OLD_LIBS"
fi
+AC_CHECK_HEADERS_ONCE([libio.h])
+
+AC_CHECK_MEMBER([struct _IO_FILE._fileno],
+ [AC_DEFINE([HAVE_FILENO], [1],[Define if _fileno exists.])],
+ [],[])
+
AC_OUTPUT(Makefile alsa/Makefile alsa/aoss alsa/aoss.old \
oss-redir/Makefile test/Makefile \
alsa/testaoss test/testaoss)