diff options
Diffstat (limited to 'input_gadgets.c')
-rw-r--r-- | input_gadgets.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/input_gadgets.c b/input_gadgets.c index c55ced4..6de1094 100644 --- a/input_gadgets.c +++ b/input_gadgets.c @@ -1035,13 +1035,19 @@ char *gadgets_retrieve_weather_warnings(char *output, int max_len) ende += snprintf(ende, max_len, "%s", "keine Warnungen"); for (int i=0; i<warnings_len; i++) { int is_relevant = 1; - for (int j=0; j<i; j++) { - if (strcmp(warnings[i].event, warnings[j].event) != 0) + for (int j=i+1; j<warnings_len; j++) { + if (strcmp(warnings[i].event, warnings[j].event) != 0) { + fprintf(stderr, "'%s' != '%s'\n", warnings[i].event, warnings[j].event); continue; - if ((warnings[i].onset != warnings[j].onset) || ((warnings[i].onset <= time(NULL)) && (warnings[j].onset <= time(NULL)))) + } + if ((warnings[i].onset != warnings[j].onset) && ((warnings[i].onset <= time(NULL)) != (warnings[j].onset <= time(NULL)))) { + fprintf(stderr, "onset: %lu != %lu\n", warnings[i].onset, warnings[j].onset); continue; - if ((warnings[i].expires != warnings[j].expires) || ((warnings[i].expires < time(NULL) + warnings_future_timespan) && (warnings[j].expires < time(NULL) + warnings_future_timespan))) + } + if ((warnings[i].expires != warnings[j].expires) && ((warnings[i].expires < time(NULL) + warnings_future_timespan) != (warnings[j].expires < time(NULL) + warnings_future_timespan))) { + fprintf(stderr, "expires: %lu != %lu\n", warnings[i].expires, warnings[j].expires); continue; + } is_relevant = 0; } if (is_relevant && (output + max_len - ende > 0)) { |