Xinqi Bao's Git
projects
/
slstatus.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Add basic backlight percentage support
[slstatus.git]
/
components
/
volume.c
diff --git
a/components/volume.c
b/components/volume.c
index
f5aa18d
..
8674211
100644
(file)
--- a/
components/volume.c
+++ b/
components/volume.c
@@
-1,10
+1,14
@@
/* See LICENSE file for copyright and license details. */
/* See LICENSE file for copyright and license details. */
-#include <err.h>
+#include <err
no
.h>
#include <fcntl.h>
#include <fcntl.h>
-#include <sys/soundcard.h>
-#include <sys/ioctl.h>
#include <stdio.h>
#include <string.h>
#include <stdio.h>
#include <string.h>
+#if defined(__OpenBSD__)
+ #include <soundcard.h>
+#else
+ #include <sys/soundcard.h>
+#endif
+#include <sys/ioctl.h>
#include <unistd.h>
#include "../util.h"
#include <unistd.h>
#include "../util.h"
@@
-12,25
+16,24
@@
const char *
vol_perc(const char *card)
{
const char *
vol_perc(const char *card)
{
-
unsigned in
t i;
+
size_
t i;
int v, afd, devmask;
char *vnames[] = SOUND_DEVICE_NAMES;
int v, afd, devmask;
char *vnames[] = SOUND_DEVICE_NAMES;
- afd = open(card, O_RDONLY | O_NONBLOCK);
- if (afd == -1) {
- warn("Cannot open %s", card);
+ if ((afd = open(card, O_RDONLY | O_NONBLOCK)) < 0) {
+ warn("open '%s':", card);
return NULL;
}
return NULL;
}
- if (ioctl(afd,
SOUND_MIXER_READ_DEVMASK, &devmask) == -1
) {
- warn("
Cannot get volume for %s", card
);
+ if (ioctl(afd,
(int)SOUND_MIXER_READ_DEVMASK, &devmask) < 0
) {
+ warn("
ioctl 'SOUND_MIXER_READ_DEVMASK':"
);
close(afd);
return NULL;
}
for (i = 0; i < LEN(vnames); i++) {
if (devmask & (1 << i) && !strcmp("vol", vnames[i])) {
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
) {
- warn("
vol_perc: ioctl"
);
+ if (ioctl(afd, MIXER_READ(i), &v)
< 0
) {
+ warn("
ioctl 'MIXER_READ(%ld)':", i
);
close(afd);
return NULL;
}
close(afd);
return NULL;
}