diff options
| author | Michael Stapelberg | 2016-08-03 23:14:14 +0200 | 
|---|---|---|
| committer | GitHub | 2016-08-03 23:14:14 +0200 | 
| commit | 1faa84d2f741c7b8f25db4d5b02955087c3e9ff2 (patch) | |
| tree | d23db68831a0ceaf5e26918d12d0c3cae4c71a53 | |
| parent | Merge pull request #142 from tommie/incremental_multibatt (diff) | |
| parent | Remove consumptionbuf from print_battery_info. (diff) | |
Merge pull request #143 from tommie/incremental_multibatt
Remove emptytimebuf and consumptionbuf from print_battery_info
| -rw-r--r-- | src/print_battery_info.c | 54 | 
1 files changed, 14 insertions, 40 deletions
| diff --git a/src/print_battery_info.c b/src/print_battery_info.c index 6b20114..09db0a2 100644 --- a/src/print_battery_info.c +++ b/src/print_battery_info.c @@ -35,11 +35,7 @@   *   */  void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char *path, const char *format, const char *format_down, const char *status_chr, const char *status_bat, const char *status_unk, const char *status_full, int low_threshold, char *threshold_type, bool last_full_capacity, bool integer_battery_capacity, bool hide_seconds) { -    time_t empty_time; -    struct tm *empty_tm;      char buf[1024]; -    char emptytimebuf[256]; -    char consumptionbuf[256];      const char *walk, *last;      char *outwalk = buffer;      bool watt_as_unit = false; @@ -52,9 +48,6 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char      float percentage_remaining = -1;      charging_status_t status = CS_DISCHARGING; -    memset(emptytimebuf, '\0', sizeof(emptytimebuf)); -    memset(consumptionbuf, '\0', sizeof(consumptionbuf)); -      static char batpath[512];      sprintf(batpath, path, number);      INSTANCE(batpath); @@ -164,20 +157,6 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char                  colorful_output = false;              }          } - -        empty_time = time(NULL); -        empty_time += seconds_remaining; -        empty_tm = localtime(&empty_time); - -        if (hide_seconds) -            (void)snprintf(emptytimebuf, sizeof(emptytimebuf), "%02d:%02d", -                           max(empty_tm->tm_hour, 0), max(empty_tm->tm_min, 0)); -        else -            (void)snprintf(emptytimebuf, sizeof(emptytimebuf), "%02d:%02d:%02d", -                           max(empty_tm->tm_hour, 0), max(empty_tm->tm_min, 0), max(empty_tm->tm_sec, 0)); - -        (void)snprintf(consumptionbuf, sizeof(consumptionbuf), "%1.2fW", -                       ((float)present_rate / 1000.0 / 1000.0));      } else {          /* On some systems, present_rate may not exist. Still, make sure           * we colorize the output if threshold_type is set to percentage @@ -494,23 +473,6 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char              }          }      } - -    empty_time = time(NULL); -    empty_time += seconds_remaining; -    empty_tm = localtime(&empty_time); - -    /* No need to show empty time if battery is charging */ -    if (status != CS_CHARGING) { -        if (hide_seconds) -            (void)snprintf(emptytimebuf, sizeof(emptytimebuf), "%02d:%02d", -                           max(empty_tm->tm_hour, 0), max(empty_tm->tm_min, 0)); -        else -            (void)snprintf(emptytimebuf, sizeof(emptytimebuf), "%02d:%02d:%02d", -                           max(empty_tm->tm_hour, 0), max(empty_tm->tm_min, 0), max(empty_tm->tm_sec, 0)); -    } - -    (void)snprintf(consumptionbuf, sizeof(consumptionbuf), "%1.2fW", -                   ((float)present_rate / 1000.0 / 1000.0));  #endif  #define EAT_SPACE_FROM_OUTPUT_IF_NO_OUTPUT()              \ @@ -575,11 +537,23 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char              walk += strlen("remaining");              EAT_SPACE_FROM_OUTPUT_IF_NO_OUTPUT();          } else if (BEGINS_WITH(walk + 1, "emptytime")) { -            outwalk += sprintf(outwalk, "%s", emptytimebuf); +            if (seconds_remaining >= 0) { +                time_t empty_time = time(NULL) + seconds_remaining; +                struct tm *empty_tm = localtime(&empty_time); + +                if (hide_seconds) +                    outwalk += sprintf(outwalk, "%02d:%02d", +                                       max(empty_tm->tm_hour, 0), max(empty_tm->tm_min, 0)); +                else +                    outwalk += sprintf(outwalk, "%02d:%02d:%02d", +                                       max(empty_tm->tm_hour, 0), max(empty_tm->tm_min, 0), max(empty_tm->tm_sec, 0)); +            }              walk += strlen("emptytime");              EAT_SPACE_FROM_OUTPUT_IF_NO_OUTPUT();          } else if (BEGINS_WITH(walk + 1, "consumption")) { -            outwalk += sprintf(outwalk, "%s", consumptionbuf); +            if (present_rate >= 0) +                outwalk += sprintf(outwalk, "%1.2fW", present_rate / 1e6); +              walk += strlen("consumption");              EAT_SPACE_FROM_OUTPUT_IF_NO_OUTPUT();          } | 
