From: Quentin Rameau <quinq@fifth.space>
Date: Mon, 30 Apr 2018 13:14:37 +0000 (+0200)
Subject: temperature: OS split
X-Git-Url: https://git.xinqibao.xyz/slstatus.git/commitdiff_plain/71eb1d321d1937b9fc96891fa47211a9e65a1e5e

temperature: OS split
---

diff --git a/Makefile b/Makefile
index 5dcef0f..c06e81d 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ COM =\
 	components/$(OS)/ram \
 	components/run_command\
 	components/$(OS)/swap \
-	components/temperature\
+	components/$(OS)/temperature \
 	components/uptime\
 	components/user\
 	components/volume\
diff --git a/components/Linux/temperature.c b/components/Linux/temperature.c
new file mode 100644
index 0000000..fa50826
--- /dev/null
+++ b/components/Linux/temperature.c
@@ -0,0 +1,15 @@
+/* See LICENSE file for copyright and license details. */
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "../../util.h"
+
+const char *
+temp(const char *file)
+{
+	int temp;
+
+	return (pscanf(file, "%d", &temp) == 1) ?
+	       bprintf("%d", temp / 1000) : NULL;
+}
diff --git a/components/OpenBSD/temperature.c b/components/OpenBSD/temperature.c
new file mode 100644
index 0000000..8098868
--- /dev/null
+++ b/components/OpenBSD/temperature.c
@@ -0,0 +1,32 @@
+/* See LICENSE file for copyright and license details. */
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/sysctl.h>
+#include <sys/time.h>
+#include <sys/sensors.h>
+
+#include "../../util.h"
+
+const char *
+temp(const char *null)
+{
+	int mib[5];
+	size_t size;
+	struct sensor temp;
+
+	mib[0] = CTL_HW;
+	mib[1] = HW_SENSORS;
+	mib[2] = 0; /* cpu0 */
+	mib[3] = SENSOR_TEMP;
+	mib[4] = 0; /* temp0 */
+
+	size = sizeof(temp);
+
+	if (sysctl(mib, 5, &temp, &size, NULL, 0) == -1) {
+		fprintf(stderr, "sysctl 'SENSOR_TEMP': %s\n", strerror(errno));
+		return NULL;
+	}
+
+	return bprintf("%d", (temp.value - 273150000) / 1000000); /* kelvin to celsius */
+}
diff --git a/components/temperature.c b/components/temperature.c
deleted file mode 100644
index e2c6a77..0000000
--- a/components/temperature.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* See LICENSE file for copyright and license details. */
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#if defined(__OpenBSD__)
-#include <sys/sysctl.h>
-#include <sys/time.h>
-#include <sys/sensors.h>
-#endif
-
-#include "../util.h"
-
-#if defined(__linux__)
-const char *
-temp(const char *file)
-{
-	int temp;
-
-	return (pscanf(file, "%d", &temp) == 1) ?
-	       bprintf("%d", temp / 1000) : NULL;
-}
-#elif defined(__OpenBSD__)
-const char *
-temp(const char *null)
-{
-	int mib[5];
-	size_t size;
-	struct sensor temp;
-
-	mib[0] = CTL_HW;
-	mib[1] = HW_SENSORS;
-	mib[2] = 0; /* cpu0 */
-	mib[3] = SENSOR_TEMP;
-	mib[4] = 0; /* temp0 */
-
-	size = sizeof(temp);
-
-	if (sysctl(mib, 5, &temp, &size, NULL, 0) == -1) {
-		fprintf(stderr, "sysctl 'SENSOR_TEMP': %s\n", strerror(errno));
-		return NULL;
-	}
-
-	return bprintf("%d", (temp.value - 273150000) / 1000000); /* kelvin to celsius */
-}
-#endif