From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 6 Apr 2015 21:56:31 -0700
Subject: [PATCH] padsp: Make it compile on musl

break assumptions on glibc and there is no stat64 on non
glibc C libraries

See pulseaudio bug

https://bugs.freedesktop.org/show_bug.cgi?id=85319

Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Bernd: taken from
http://git.alpinelinux.org/cgit/aports/tree/testing/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch,
adjusted paths.]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

---
 src/utils/padsp.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/utils/padsp.c b/src/utils/padsp.c
index e61373c..684721a 100644
--- a/src/utils/padsp.c
+++ b/src/utils/padsp.c
@@ -2368,7 +2368,7 @@ fail:
     return ret;
 }
 
-#ifdef sun
+#ifndef __GLIBC__
 int ioctl(int fd, int request, ...) {
 #else
 int ioctl(int fd, unsigned long request, ...) {
@@ -2508,10 +2508,13 @@ int stat(const char *pathname, struct stat *buf) {
 
     return 0;
 }
-
 #ifdef HAVE_OPEN64
-
+#undef stat64
+#ifdef __GLIBC__
 int stat64(const char *pathname, struct stat64 *buf) {
+#else
+int stat64(const char *pathname, struct stat *buf) {
+#endif
     struct stat oldbuf;
     int ret;
 
@@ -2544,7 +2547,7 @@ int stat64(const char *pathname, struct stat64 *buf) {
 
     return 0;
 }
-
+#undef open64
 int open64(const char *filename, int flags, ...) {
     va_list args;
     mode_t mode = 0;
@@ -2670,8 +2673,8 @@ FILE* fopen(const char *filename, const char *mode) {
 }
 
 #ifdef HAVE_OPEN64
-
-FILE *fopen64(const char *filename, const char *mode) {
+#undef fopen64
+FILE *fopen64(const char *__restrict filename, const char *__restrict mode) {
 
     debug(DEBUG_LEVEL_VERBOSE, __FILE__": fopen64(%s)\n", filename?filename:"NULL");
 
-- 
2.1.4

