Просмотр исходного кода

Merge pull request #20 from R41z/master

fix division by zero in vol_perc, and hostname() rewrite
Aaron Marcher 9 лет назад
Родитель
Сommit
5e7aa2a321
1 измененных файлов с 6 добавлено и 7 удалено
  1. 6 7
      slstatus.c

+ 6 - 7
slstatus.c

@@ -271,14 +271,10 @@ hostname(void)
 	char buf[HOST_NAME_MAX];
 	FILE *fp;
 
-	fp = fopen("/proc/sys/kernel/hostname", "r");
-	if (fp == NULL) {
-		warn("Failed to open file /proc/sys/kernel/hostname");
+	if (gethostname(buf, sizeof(buf)) == -1) {
+		warn(1, "hostname");
 		return smprintf(UNKNOWN_STR);
 	}
-	fgets(buf, sizeof(buf), fp);
-	buf[strlen(buf)-1] = '\0';
-	fclose(fp);
 
 	return smprintf("%s", buf);
 }
@@ -501,7 +497,10 @@ vol_perc(const char *card)
 	snd_mixer_selem_id_free(s_elem);
 	snd_mixer_close(handle);
 
-	return smprintf("%d%%", ((uint_fast16_t)(vol * 100) / max));
+	if (max == 0)
+		return smprintf("%d%%", 0);
+	else
+		return smprintf("%d%%", ((uint_fast16_t)(vol * 100) / max));
 }
 
 static char *