X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/4db310433eb20ec95643299b0d14fefaea44b8bd..4d57f81eef643ecd34082dc872557b6b4b6ec241:/sbr/dtime.c diff --git a/sbr/dtime.c b/sbr/dtime.c index d24694ea..b4aaed8d 100644 --- a/sbr/dtime.c +++ b/sbr/dtime.c @@ -249,6 +249,7 @@ dasctime (struct tws *tw, int flags) { char buffer[80]; static char result[80]; + int twf; if (!tw) return NULL; @@ -264,13 +265,13 @@ dasctime (struct tws *tw, int flags) tw->tw_year < 100 ? 2 : 4, tw->tw_year, tw->tw_hour, tw->tw_min, tw->tw_sec, result); - if ((tw->tw_flags & TW_SDAY) == TW_SEXP) - snprintf (result, sizeof(result), "%s, %s", tw_dotw[tw->tw_wday], buffer); - else - if ((tw->tw_flags & TW_SDAY) == TW_SNIL) - strncpy (result, buffer, sizeof(result)); - else - snprintf (result, sizeof(result), "%s (%s)", buffer, tw_dotw[tw->tw_wday]); + if ((twf = tw->tw_flags & TW_SDAY)) { + if (twf == TW_SEXP) + snprintf(result, sizeof(result), "%s, %s", tw_dotw[tw->tw_wday], buffer); + else + snprintf(result, sizeof(result), "%s (%s)", buffer, tw_dotw[tw->tw_wday]); + } else + strncpy(result, buffer, sizeof(result)); return result; } @@ -297,10 +298,8 @@ dtimezone (int offset, int flags) hours = offset / 60; } -#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST if (flags & TW_DST) - hours += 1; -#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ + hours++; snprintf (buffer, sizeof(buffer), "%s%02d%02d", offset < 0 ? "-" : "+", abs (hours), abs (mins)); return buffer;