add patch for recent PulseAudio (by Sébastien Noel)
[osspd.git] / debian / patches / GIT-fix-compiler-warnings.patch
diff --git a/debian/patches/GIT-fix-compiler-warnings.patch b/debian/patches/GIT-fix-compiler-warnings.patch
new file mode 100644 (file)
index 0000000..1424b2b
--- /dev/null
@@ -0,0 +1,251 @@
+From 37eb730a452f0ded2ed1c174feb438e3df041581 Mon Sep 17 00:00:00 2001
+From: Miklos Szeredi <mszeredi@suse.cz>
+Date: Fri, 11 Nov 2011 14:19:32 +0100
+Subject: [PATCH] fix compiler warnings
+
+---
+ ossp-padsp.c |  3 ---
+ osspd.c      | 75 ++++++++++++++++++++++++++++++----------------------
+ 2 files changed, 44 insertions(+), 34 deletions(-)
+
+diff --git a/ossp-padsp.c b/ossp-padsp.c
+index 1871f5b..3143960 100644
+--- a/ossp-padsp.c
++++ b/ossp-padsp.c
+@@ -972,16 +972,13 @@ static void do_mmap_read(size_t bytes)
+ static void stream_rw_callback(pa_stream *s, size_t length, void *userdata)
+ {
+-      int dir;
+       size_t size;
+       if (s == stream[PLAY]) {
+-              dir = PLAY;
+               size = pa_stream_writable_size(s);
+               if (mmap_map[PLAY])
+                       do_mmap_write(size);
+       } else if (s == stream[REC]) {
+-              dir = REC;
+               size = pa_stream_readable_size(s);
+               if (mmap_map[REC])
+                       do_mmap_read(size);
+diff --git a/osspd.c b/osspd.c
+index df1cfc4..4be1ad5 100644
+--- a/osspd.c
++++ b/osspd.c
+@@ -469,15 +469,6 @@ static int ioctl_prep_uarg(fuse_req_t req, void *in, size_t in_sz, void *out,
+               return;                                                 \
+ } while (0)
+-#define IOCTL_RETURN(result, outp) do {                                       \
+-      if ((outp) != NULL)                                             \
+-              fuse_reply_ioctl(req, result, (outp), sizeof(*(outp))); \
+-      else                                                            \
+-              fuse_reply_ioctl(req, result, NULL, 0);                 \
+-      return;                                                         \
+-} while (0)
+-
+-
+ /***************************************************************************
+  * Mixer implementation
+  */
+@@ -709,7 +700,8 @@ static void mixer_simple_ioctl(fuse_req_t req, struct ossp_mixer *mixer,
+               strncpy(info.id, id, sizeof(info.id) - 1);
+               strncpy(info.name, name, sizeof(info.name) - 1);
+               info.modify_counter = mixer->modify_counter;
+-              IOCTL_RETURN(0, &info);
++              fuse_reply_ioctl(req, 0, &info, sizeof(info));
++              break;
+       }
+       case SOUND_OLD_MIXER_INFO: {
+@@ -718,7 +710,8 @@ static void mixer_simple_ioctl(fuse_req_t req, struct ossp_mixer *mixer,
+               PREP_UARG(NULL, &info);
+               strncpy(info.id, id, sizeof(info.id) - 1);
+               strncpy(info.name, name, sizeof(info.name) - 1);
+-              IOCTL_RETURN(0, &info);
++              fuse_reply_ioctl(req, 0, &info, sizeof(info));
++              break;
+       }
+       case OSS_GETVERSION:
+@@ -737,16 +730,16 @@ static void mixer_simple_ioctl(fuse_req_t req, struct ossp_mixer *mixer,
+               goto puti;
+       puti:
+               PREP_UARG(NULL, &i);
+-              IOCTL_RETURN(0, &i);
++              fuse_reply_ioctl(req, 0, &i, sizeof(i));
++              break;
+       case SOUND_MIXER_WRITE_RECSRC:
+-              IOCTL_RETURN(0, NULL);
++              fuse_reply_ioctl(req, 0, NULL, 0);
++              break;
+       default:
+               *not_minep = 1;
+-              return;
+       }
+-      assert(0);
+ }
+ static void mixer_do_ioctl(fuse_req_t req, struct ossp_mixer *mixer,
+@@ -787,7 +780,8 @@ static void mixer_do_ioctl(fuse_req_t req, struct ossp_mixer *mixer,
+               break;
+       default:
+               i = 0;
+-              IOCTL_RETURN(0, &i);
++              fuse_reply_ioctl(req, 0, &i, sizeof(i));
++              return;
+       }
+       init_mixer_cmd(&mxcmd, mixer);
+@@ -837,7 +831,12 @@ static void mixer_do_ioctl(fuse_req_t req, struct ossp_mixer *mixer,
+       finish_mixer_cmd(&mxcmd);
+       free(osa);
+-      IOCTL_RETURN(0, out_bufsz ? &mxcmd.rvol : NULL);
++      if (out_bufsz)
++              fuse_reply_ioctl(req, 0, &mxcmd.rvol, sizeof(mxcmd.rvol));
++      else
++              fuse_reply_ioctl(req, 0, NULL, 0);
++
++      return;
+ err:
+       fuse_reply_err(req, -rc);
+@@ -1510,7 +1509,8 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+       case OSS_GETVERSION:
+               i = SNDRV_OSS_VERSION;
+               PREP_UARG(NULL, &i);
+-              IOCTL_RETURN(0, &i);
++              fuse_reply_ioctl(req, 0, &i, sizeof(i));
++              break;
+       case SNDCTL_DSP_GETCAPS:
+               i = DSP_CAP_DUPLEX | DSP_CAP_REALTIME | DSP_CAP_TRIGGER |
+@@ -1519,12 +1519,14 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+ #endif
+                       DSP_CAP_MULTI;
+               PREP_UARG(NULL, &i);
+-              IOCTL_RETURN(0, &i);
++              fuse_reply_ioctl(req, 0, &i, sizeof(i));
++              break;
+       case SNDCTL_DSP_NONBLOCK:
+               dsps->nonblock = 1;
+               ret = 0;
+-              IOCTL_RETURN(0, NULL);
++              fuse_reply_ioctl(req, 0, NULL, 0);
++              break;
+       case SNDCTL_DSP_RESET:          op = OSSP_DSP_RESET;            goto nd;
+       case SNDCTL_DSP_SYNC:           op = OSSP_DSP_SYNC;             goto nd;
+@@ -1533,7 +1535,8 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+               ret = exec_simple_cmd(&dsps->os, op, NULL, NULL);
+               if (ret)
+                       goto err;
+-              IOCTL_RETURN(0, NULL);
++              fuse_reply_ioctl(req, 0, NULL, 0);
++              break;
+       case SOUND_PCM_READ_RATE:       op = OSSP_DSP_GET_RATE;         goto ri;
+       case SOUND_PCM_READ_BITS:       op = OSSP_DSP_GET_FORMAT;       goto ri;
+@@ -1546,7 +1549,8 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+               ret = exec_simple_cmd(&dsps->os, op, NULL, &i);
+               if (ret)
+                       goto err;
+-              IOCTL_RETURN(0, &i);
++              fuse_reply_ioctl(req, 0, &i, sizeof(i));
++              break;
+       case SNDCTL_DSP_SPEED:          op = OSSP_DSP_SET_RATE;         goto wi;
+       case SNDCTL_DSP_SETFMT:         op = OSSP_DSP_SET_FORMAT;       goto wi;
+@@ -1557,7 +1561,8 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+               ret = exec_simple_cmd(&dsps->os, op, &i, &i);
+               if (ret)
+                       goto err;
+-              IOCTL_RETURN(0, &i);
++              fuse_reply_ioctl(req, 0, &i, sizeof(i));
++              break;
+       case SNDCTL_DSP_STEREO:
+               PREP_UARG(NULL, &i);
+@@ -1566,7 +1571,8 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+               i--;
+               if (ret)
+                       goto err;
+-              IOCTL_RETURN(0, &i);
++              fuse_reply_ioctl(req, 0, &i, sizeof(i));
++              break;
+       case SNDCTL_DSP_SETFRAGMENT:
+               PREP_UARG(&i, NULL);
+@@ -1574,7 +1580,8 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+                                     OSSP_DSP_SET_FRAGMENT, &i, NULL);
+               if (ret)
+                       goto err;
+-              IOCTL_RETURN(0, NULL);
++              fuse_reply_ioctl(req, 0, NULL, 0);
++              break;
+       case SNDCTL_DSP_SETTRIGGER:
+               PREP_UARG(&i, NULL);
+@@ -1582,7 +1589,8 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+                                     OSSP_DSP_SET_TRIGGER, &i, NULL);
+               if (ret)
+                       goto err;
+-              IOCTL_RETURN(0, NULL);
++              fuse_reply_ioctl(req, 0, NULL, 0);
++              break;
+       case SNDCTL_DSP_GETOSPACE:
+       case SNDCTL_DSP_GETISPACE: {
+@@ -1603,7 +1611,8 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+               ret = exec_simple_cmd(&dsps->os, op, NULL, &info);
+               if (ret)
+                       goto err;
+-              IOCTL_RETURN(0, &info);
++              fuse_reply_ioctl(req, 0, &info, sizeof(info));
++              break;
+       }
+       case SNDCTL_DSP_GETOPTR:
+@@ -1616,14 +1625,16 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+               ret = exec_simple_cmd(&dsps->os, op, NULL, &info);
+               if (ret)
+                       goto err;
+-              IOCTL_RETURN(0, &info);
++              fuse_reply_ioctl(req, 0, &info, sizeof(info));
++              break;
+       }
+       case SNDCTL_DSP_GETODELAY:
+               PREP_UARG(NULL, &i);
+               i = 0;
+               ret = exec_simple_cmd(&dsps->os, OSSP_DSP_GET_ODELAY, NULL, &i);
+-              IOCTL_RETURN(ret, &i);  /* always copy out result, 0 on err */
++              fuse_reply_ioctl(req, ret, &i, sizeof(i));      /* always copy out result, 0 on err */
++              break;
+       case SOUND_PCM_WRITE_FILTER:
+       case SOUND_PCM_READ_FILTER:
+@@ -1638,14 +1649,16 @@ static void dsp_ioctl(fuse_req_t req, int signed_cmd, void *uarg,
+       case SNDCTL_DSP_SETSYNCRO:
+       case SNDCTL_DSP_SETDUPLEX:
+       case SNDCTL_DSP_PROFILE:
+-              IOCTL_RETURN(0, NULL);
++              fuse_reply_ioctl(req, 0, NULL, 0);
++              break;
+       default:
+               warn_os(os, "unknown ioctl 0x%x", cmd);
+               ret = -EINVAL;
+               goto err;
+       }
+-      assert(0);      /* control shouldn't reach here */
++      return;
++
+ err:
+       fuse_reply_err(req, -ret);
+ }