]> git.sur5r.net Git - i3/i3status/commitdiff
Also use the correct time for the ddate module
authorMichael Stapelberg <michael@stapelberg.de>
Thu, 21 Apr 2011 23:10:40 +0000 (01:10 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 21 Apr 2011 23:10:40 +0000 (01:10 +0200)
i3status.c
include/i3status.h
src/print_ddate.c

index 7f426f2f5f531ce596b92e0dac673d1ff44c43af..779e27f349af3f8359c1c94852404c4e656f4a29 100644 (file)
@@ -360,7 +360,7 @@ int main(int argc, char *argv[]) {
                                 print_time(cfg_getstr(sec, "format"), current_tm);
 
                         CASE_SEC("ddate")
-                                print_ddate(cfg_getstr(sec, "format"));
+                                print_ddate(cfg_getstr(sec, "format"), current_tm);
 
                         CASE_SEC_TITLE("volume")
                                 print_volume(cfg_getstr(sec, "format"),
index 501340acf89be171f944b2335c6bd89f58b2724c..48b4369067d734448c8c174544bf88ed6d4e8d63 100644 (file)
@@ -63,7 +63,7 @@ void print_ipv6_info(const char *format_up, const char *format_down);
 void print_disk_info(const char *path, const char *format);
 void print_battery_info(int number, const char *format, bool last_full_capacity);
 void print_time(const char *format, struct tm *current_tm);
-void print_ddate(const char *format);
+void print_ddate(const char *format, struct tm *current_tm);
 const char *get_ip_addr();
 void print_wireless_info(const char *interface, const char *format_up, const char *format_down);
 void print_run_watch(const char *title, const char *pidfile, const char *format);
index 16923b2c17e910a20c38b82351caa16fa2583319..453e5a270efebfe52f74e056ce1972e37df7e2c4 100644 (file)
@@ -164,15 +164,10 @@ int format_output(char *format, struct disc_time *dt) {
 }
 
 /* Get the current date and convert it to discordian */
-struct disc_time *get_ddate() {
-        time_t current_time;
-        struct tm *current_tm;
+struct disc_time *get_ddate(struct tm *current_tm) {
         static struct disc_time dt;
 
-        if ((current_time = time(NULL)) == (time_t)-1)
-                return NULL;
-
-        if ((current_tm = localtime(&current_time)) == NULL)
+        if (current_tm == NULL)
                 return NULL;
 
         /* We have to know, whether we have to insert St. Tib's Day, so whether it's a leap
@@ -197,10 +192,10 @@ struct disc_time *get_ddate() {
         return &dt;
 }
 
-void print_ddate(const char *format) {
+void print_ddate(const char *format, struct tm *current_tm) {
         static char *form = NULL;
         struct disc_time *dt;
-        if ((dt = get_ddate()) == NULL)
+        if ((dt = get_ddate(current_tm)) == NULL)
                 return;
         if (form == NULL)
                 if ((form = malloc(strlen(format) + 1)) == NULL)