[Python-checkins] python/dist/src/Modules ossaudiodev.c,1.6,1.7

gward@users.sourceforge.net gward@users.sourceforge.net
Wed, 11 Dec 2002 06:50:02 -0800


Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1:/tmp/cvs-serv1658

Modified Files:
	ossaudiodev.c 
Log Message:
Prepare for the coming mixer support patch: change _do_ioctl_0() and
_do_ioctl_1() so they take a file descriptor rather than an oss_t
pointer.


Index: ossaudiodev.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/ossaudiodev.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** ossaudiodev.c	11 Dec 2002 14:43:13 -0000	1.6
--- ossaudiodev.c	11 Dec 2002 14:49:59 -0000	1.7
***************
*** 174,188 ****
  */
  static PyObject *
! _do_ioctl_1(oss_t *self, PyObject *args, char *fname, int cmd)
  {
!     char argfmt[13] = "i:";
      int arg;
  
!     assert(strlen(fname) <= 10);
      strcat(argfmt, fname);
      if (!PyArg_ParseTuple(args, argfmt, &arg))
  	return NULL;
  
!     if (ioctl(self->x_fd, cmd, &arg) == -1)
          return PyErr_SetFromErrno(PyExc_IOError);
      return PyInt_FromLong(arg);
--- 174,188 ----
  */
  static PyObject *
! _do_ioctl_1(int fd, PyObject *args, char *fname, int cmd)
  {
!     char argfmt[33] = "i:";
      int arg;
  
!     assert(strlen(fname) <= 30);
      strcat(argfmt, fname);
      if (!PyArg_ParseTuple(args, argfmt, &arg))
  	return NULL;
  
!     if (ioctl(fd, cmd, &arg) == -1)
          return PyErr_SetFromErrno(PyExc_IOError);
      return PyInt_FromLong(arg);
***************
*** 192,205 ****
     SNDCTL_DSP_{SYNC,RESET,POST}. */
  static PyObject *
! _do_ioctl_0(oss_t *self, PyObject *args, char *fname, int cmd)
  {
!     char argfmt[12] = ":";
  
!     assert(strlen(fname) <= 10);
      strcat(argfmt, fname);
      if (!PyArg_ParseTuple(args, argfmt))
  	return NULL;
  
!     if (ioctl(self->x_fd, cmd, 0) == -1)
          return PyErr_SetFromErrno(PyExc_IOError);
      Py_INCREF(Py_None);
--- 192,205 ----
     SNDCTL_DSP_{SYNC,RESET,POST}. */
  static PyObject *
! _do_ioctl_0(int fd, PyObject *args, char *fname, int cmd)
  {
!     char argfmt[32] = ":";
  
!     assert(strlen(fname) <= 30);
      strcat(argfmt, fname);
      if (!PyArg_ParseTuple(args, argfmt))
  	return NULL;
  
!     if (ioctl(fd, cmd, 0) == -1)
          return PyErr_SetFromErrno(PyExc_IOError);
      Py_INCREF(Py_None);
***************
*** 224,228 ****
  oss_setfmt(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_1(self, args, "setfmt", SNDCTL_DSP_SETFMT);
  }
  
--- 224,228 ----
  oss_setfmt(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_1(self->x_fd, args, "setfmt", SNDCTL_DSP_SETFMT);
  }
  
***************
*** 241,245 ****
  oss_channels(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_1(self, args, "channels", SNDCTL_DSP_CHANNELS);
  }
  
--- 241,245 ----
  oss_channels(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_1(self->x_fd, args, "channels", SNDCTL_DSP_CHANNELS);
  }
  
***************
*** 247,251 ****
  oss_speed(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_1(self, args, "speed", SNDCTL_DSP_SPEED);
  }
  
--- 247,251 ----
  oss_speed(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_1(self->x_fd, args, "speed", SNDCTL_DSP_SPEED);
  }
  
***************
*** 253,257 ****
  oss_sync(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_0(self, args, "sync", SNDCTL_DSP_SYNC);
  }
      
--- 253,257 ----
  oss_sync(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_0(self->x_fd, args, "sync", SNDCTL_DSP_SYNC);
  }
      
***************
*** 259,263 ****
  oss_reset(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_0(self, args, "reset", SNDCTL_DSP_RESET);
  }
      
--- 259,263 ----
  oss_reset(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_0(self->x_fd, args, "reset", SNDCTL_DSP_RESET);
  }
      
***************
*** 265,269 ****
  oss_post(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_0(self, args, "post", SNDCTL_DSP_POST);
  }
  
--- 265,269 ----
  oss_post(oss_t *self, PyObject *args)
  {
!     return _do_ioctl_0(self->x_fd, args, "post", SNDCTL_DSP_POST);
  }