diff options
| author | Michael Stapelberg | 2011-04-22 01:10:40 +0200 | 
|---|---|---|
| committer | Michael Stapelberg | 2011-04-22 01:10:40 +0200 | 
| commit | 0a13d304654a63c53f9cffdcd8941b92f3a445fe (patch) | |
| tree | d65f3cf89576440afaaf05ea39d84df5c470a3d0 | |
| parent | Bugfix: use localtime_r so that later calls in print_battery_info don’t ove... (diff) | |
Also use the correct time for the ddate module
| -rw-r--r-- | i3status.c | 2 | ||||
| -rw-r--r-- | include/i3status.h | 2 | ||||
| -rw-r--r-- | src/print_ddate.c | 13 | 
3 files changed, 6 insertions, 11 deletions
| @@ -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"), diff --git a/include/i3status.h b/include/i3status.h index 501340a..48b4369 100644 --- a/include/i3status.h +++ b/include/i3status.h @@ -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); diff --git a/src/print_ddate.c b/src/print_ddate.c index 16923b2..453e5a2 100644 --- a/src/print_ddate.c +++ b/src/print_ddate.c @@ -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(¤t_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) | 
