X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/16a97fbca129bca5656f76191c1b324b1649ec22..951ea4e304cf23f8464a4b6896cfcf4035920249:/components/volume.c?ds=inline

diff --git a/components/volume.c b/components/volume.c
index ff25769..0bfbe08 100644
--- a/components/volume.c
+++ b/components/volume.c
@@ -16,26 +16,24 @@
 const char *
 vol_perc(const char *card)
 {
-	unsigned int i;
+	size_t i;
 	int v, afd, devmask;
 	char *vnames[] = SOUND_DEVICE_NAMES;
 
 	if ((afd = open(card, O_RDONLY | O_NONBLOCK)) < 0) {
-		fprintf(stderr, "open '%s': %s\n", card, strerror(errno));
+		warn("open '%s':", card);
 		return NULL;
 	}
 
 	if (ioctl(afd, (int)SOUND_MIXER_READ_DEVMASK, &devmask) < 0) {
-		fprintf(stderr, "ioctl 'SOUND_MIXER_READ_DEVMASK': %s\n",
-		        strerror(errno));
+		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])) {
 			if (ioctl(afd, MIXER_READ(i), &v) < 0) {
-				fprintf(stderr, "ioctl 'MIXER_READ(%d)': %s\n", i,
-				        strerror(errno));
+				warn("ioctl 'MIXER_READ(%ld)':", i);
 				close(afd);
 				return NULL;
 			}
@@ -44,5 +42,5 @@ vol_perc(const char *card)
 
 	close(afd);
 
-	return bprintf("%d", v & 0xff);
+	return bprintf("%d%%", v & 0xff);
 }