diff --git a/libsndio/aucat.c b/libsndio/aucat.c index 1873e67..2a61514 100644 --- a/libsndio/aucat.c +++ b/libsndio/aucat.c @@ -335,10 +335,8 @@ bad_gen: unlink(tmp); } done: - if (tmp) - free(tmp); - if (path) - free(path); + free(tmp); + free(path); return 1; } diff --git a/libsndio/mio_open.3 b/libsndio/mio_open.3 index 06a854d..164560b 100644 --- a/libsndio/mio_open.3 +++ b/libsndio/mio_open.3 @@ -247,3 +247,8 @@ may be a value between 0 and 2. .Xr midi 4 , .Xr sndio 7 , .Xr sndiod 8 +.Sh HISTORY +These functions first appeared in +.Ox 4.7 . +.Sh AUTHORS +.An Alexandre Ratchov Aq Mt ratchov@openbsd.org diff --git a/libsndio/mio_rmidi.c b/libsndio/mio_rmidi.c index 6ffef85..e0302cc 100644 --- a/libsndio/mio_rmidi.c +++ b/libsndio/mio_rmidi.c @@ -66,7 +66,7 @@ static struct mio_ops mio_rmidi_ops = { mio_rmidi_revents }; -static int +int mio_rmidi_getfd(const char *str, unsigned int mode, int nbio) { const char *p; @@ -77,6 +77,9 @@ mio_rmidi_getfd(const char *str, unsigned int mode, int nbio) #endif int fd, flags; +#ifdef DEBUG + _sndio_debug_init(); +#endif p = _sndio_parsetype(str, "rmidi"); if (p == NULL) { DPRINTF("mio_rmidi_getfd: %s: \"rsnd\" expected\n", str); @@ -135,11 +138,14 @@ mio_rmidi_getfd(const char *str, unsigned int mode, int nbio) return fd; } -static struct mio_hdl * +struct mio_hdl * mio_rmidi_fdopen(int fd, unsigned int mode, int nbio) { struct mio_rmidi_hdl *hdl; +#ifdef DEBUG + _sndio_debug_init(); +#endif hdl = malloc(sizeof(struct mio_rmidi_hdl)); if (hdl == NULL) return NULL; diff --git a/libsndio/sio_sun.c b/libsndio/sio_sun.c index e32cf40..6901b5d 100644 --- a/libsndio/sio_sun.c +++ b/libsndio/sio_sun.c @@ -267,7 +267,7 @@ sio_sun_getcap(struct sio_hdl *sh, struct sio_cap *cap) return 1; } -static int +int sio_sun_getfd(const char *str, unsigned int mode, int nbio) { const char *p; @@ -275,6 +275,9 @@ sio_sun_getfd(const char *str, unsigned int mode, int nbio) unsigned int devnum; int fd, flags; +#ifdef DEBUG + _sndio_debug_init(); +#endif p = _sndio_parsetype(str, "rsnd"); if (p == NULL) { DPRINTF("sio_sun_getfd: %s: \"rsnd\" expected\n", str); @@ -307,11 +310,14 @@ sio_sun_getfd(const char *str, unsigned int mode, int nbio) return fd; } -static struct sio_hdl * +struct sio_hdl * sio_sun_fdopen(int fd, unsigned int mode, int nbio) { struct sio_sun_hdl *hdl; +#ifdef DEBUG + _sndio_debug_init(); +#endif hdl = malloc(sizeof(struct sio_sun_hdl)); if (hdl == NULL) return NULL; diff --git a/libsndio/sndio.h b/libsndio/sndio.h index 9ef3011..afbc202 100644 --- a/libsndio/sndio.h +++ b/libsndio/sndio.h @@ -191,6 +191,11 @@ int siomix_pollfd(struct siomix_hdl *, struct pollfd *, int); int siomix_revents(struct siomix_hdl *, struct pollfd *); int siomix_eof(struct siomix_hdl *); +int mio_rmidi_getfd(const char *, unsigned int, int); +struct mio_hdl *mio_rmidi_fdopen(int, unsigned int, int); +int sio_sun_getfd(const char *, unsigned int, int); +struct sio_hdl *sio_sun_fdopen(int, unsigned int, int); + #ifdef __cplusplus } #endif