From: Michael Stapelberg Date: Sun, 30 Nov 2008 00:46:01 +0000 (+0100) Subject: Correctly open new files X-Git-Tag: 1.0~35 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=9388ee56e183ccb0210f6ee03bdb2f4ee9f3ebcf;p=i3%2Fi3status Correctly open new files --- 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