From 9388ee56e183ccb0210f6ee03bdb2f4ee9f3ebcf Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael+x200@stapelberg.de>
Date: Sun, 30 Nov 2008 01:46:01 +0100
Subject: Correctly open new files

---
 wmiistatus.c    | 9 ++++++++-
 wmiistatus.conf | 1 +
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/wmiistatus.c b/wmiistatus.c
index 95cc2ef..6604533 100644
--- a/wmiistatus.c
+++ b/wmiistatus.c
@@ -102,9 +102,16 @@ static void cleanup_rbar_dir() {
 static void create_file(const char *name) {
 	char pathbuf[strlen(wmii_path)+256+1];
 	int fd;
+	int flags = O_CREAT | O_WRONLY;
+	struct stat statbuf;
 
 	(void)snprintf(pathbuf, sizeof(pathbuf), "%s%s", wmii_path, name);
-	if ((fd = open(pathbuf, O_CREAT | O_WRONLY | O_TRUNC, S_IRUSR | S_IWUSR)) < 0)
+
+	/* Overwrite file's contents if it exists */
+	if (stat(pathbuf, &statbuf) >= 0)
+		flags |= O_TRUNC;
+
+	if ((fd = open(pathbuf, flags, S_IRUSR | S_IWUSR)) < 0)
 		exit(EXIT_FAILURE);
 	if (use_colors) {
 		char *tmp = concat("#888888 ", wmii_normcolors);
diff --git a/wmiistatus.conf b/wmiistatus.conf
index c483c59..ef0a5cf 100644
--- a/wmiistatus.conf
+++ b/wmiistatus.conf
@@ -8,3 +8,4 @@ run_watch VPN /var/run/vpnc/pid
 order run,wlan,eth,battery,load,time
 normcolors #000000 #333333
 color
+get_ethspeed
-- 
cgit v1.2.3