fixed some memory leaks
authorRoy Freytag <rfreytag@hs-mittweida.de>
Tue, 8 Mar 2016 19:55:07 +0000 (20:55 +0100)
committerRoy Freytag <rfreytag@hs-mittweida.de>
Tue, 8 Mar 2016 19:55:07 +0000 (20:55 +0100)
config.def.h
slstatus.c

index b92a20d43584d6bb3fae2af6481cb3aa8ec3f750..e4f0ffded13be8d44dbd5e745c712a8d6e5ffc41 100644 (file)
@@ -19,4 +19,4 @@ static const char timeformat[] = "%y-%m-%d %H:%M:%S";
 
 /* statusbar */
 #define FORMATSTRING "wifi %4s | bat %4s | cpu %4s %3s | ram %3s | vol %4s | %3s"
-#define ARGUMENTS wifi_signal(), battery(), cpu_usage(), cpu_temperature(), ram_usage(), volume(), datetime()
+#define ARGUMENTS pWifi_signal, pBattery, pCpu_usage, pCpu_temperature, pRam_usage, pVolume, pDatetime
index 6ca36e03e1fbdb2cfc106c54bebf0212a6e956de..cb6282f80b2a556bafd6542d260b0995b4314098 100644 (file)
@@ -247,7 +247,7 @@ volume()
 
     /* return the string (mute) */
     if (!mute)
-        return "mute";
+        return smprintf("mute");
     else
         return smprintf("%d%%", (vol * 100) / max);
 }
@@ -322,10 +322,32 @@ main()
         exit(1);
     }
 
+    char *pWifi_signal = NULL;
+    char *pBattery = NULL;
+    char *pCpu_usage = NULL;
+    char *pCpu_temperature = NULL;
+    char *pRam_usage = NULL;
+    char *pVolume = NULL;
+    char *pDatetime = NULL;
+
     /* return status every second */   
     for (;;) {
+        pWifi_signal = wifi_signal();
+        pBattery = battery();
+        pCpu_usage = cpu_usage();
+        pCpu_temperature = cpu_temperature();
+        pRam_usage = ram_usage();
+        pVolume = volume();
+        pDatetime = datetime();
         sprintf(status, FORMATSTRING, ARGUMENTS);
         setstatus(status);
+        free(pWifi_signal);
+        free(pBattery);
+        free(pCpu_usage);
+        free(pCpu_temperature);
+        free(pRam_usage);
+        free(pVolume);
+        free(pDatetime);
     }
 
     /* close display */