X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/faa52bdcc0221de2d8fae950e409a8ac5e05bfcd..932f65c37388220298b44c65e601c593e4e40b9e:/components/volume.c?ds=sidebyside diff --git a/components/volume.c b/components/volume.c index 4c9a6ac..b2ffb40 100644 --- a/components/volume.c +++ b/components/volume.c @@ -1,8 +1,11 @@ /* See LICENSE file for copyright and license details. */ -#if defined(__linux__) #include #include -#include +#if defined(__OpenBSD__) +# include +#else +# include +#endif #include #include #include @@ -17,21 +20,22 @@ vol_perc(const char *card) int v, afd, devmask; char *vnames[] = SOUND_DEVICE_NAMES; - afd = open(card, O_RDONLY | O_NONBLOCK); - if (afd == -1) { + if ((afd = open(card, O_RDONLY | O_NONBLOCK)) < 0) { fprintf(stderr, "open '%s': %s\n", card, strerror(errno)); return NULL; } - if (ioctl(afd, SOUND_MIXER_READ_DEVMASK, &devmask) == -1) { - fprintf(stderr, "ioctl 'SOUND_MIXER_READ_DEVMASK': %s\n", strerror(errno)); + if (ioctl(afd, (int)SOUND_MIXER_READ_DEVMASK, &devmask) < 0) { + fprintf(stderr, "ioctl 'SOUND_MIXER_READ_DEVMASK': %s\n", + strerror(errno)); close(afd); return NULL; } for (i = 0; i < LEN(vnames); i++) { if (devmask & (1 << i) && !strcmp("vol", vnames[i])) { - if (ioctl(afd, MIXER_READ(i), &v) == -1) { - fprintf(stderr, "ioctl 'MIXER_READ(%d)': %s\n", i, strerror(errno)); + if (ioctl(afd, MIXER_READ(i), &v) < 0) { + fprintf(stderr, "ioctl 'MIXER_READ(%d)': %s\n", i, + strerror(errno)); close(afd); return NULL; } @@ -42,4 +46,3 @@ vol_perc(const char *card) return bprintf("%d", v & 0xff); } -#endif