From 6e3b52292a042ede4d053054a895167afd6edcf2 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 7 Mar 2017 10:39:00 +0100 Subject: [PATCH] tzset: Clean up preprocessor macros min, max, sign --- ChangeLog | 8 ++++++++ time/tzset.c | 14 +++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 63b9a15..9045b60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2017-03-07 Florian Weimer + * time/tzset.c (compute_offset): Open-code min macro. + (min, max, sign): Remove. + +2017-03-07 Florian Weimer + +2017-03-07 Florian Weimer + [BZ #15576] Remove TZNAME_MAX limit from sysconf. * include/time.h (__tzname_cur_max, __tzname_max): Remove @@ -12,6 +19,7 @@ (tzset_internal): Remove argument. (__tzset): Adjust call to tzset_internal. (__tz_convert): Likewise. + * posix/sysconf.c (__sysconf): Return -1 for _SC_TZNAME_MAX. * sysdeps/posix/sysconf.c (__sysconf): Likewise. * manual/conf.texi (Sysconf Definition): Update comment. diff --git a/time/tzset.c b/time/tzset.c index f0e5c95..8868e9a 100644 --- a/time/tzset.c +++ b/time/tzset.c @@ -38,12 +38,6 @@ weak_alias (__timezone, timezone) /* This locks all the state variables in tzfile.c and this file. */ __libc_lock_define_initialized (static, tzset_lock) - -#define min(a, b) ((a) < (b) ? (a) : (b)) -#define max(a, b) ((a) > (b) ? (a) : (b)) -#define sign(x) ((x) < 0 ? -1 : 1) - - /* This structure contains all the information about a timezone given in the POSIX standard TZ envariable. */ typedef struct @@ -142,7 +136,13 @@ update_vars (void) static unsigned int compute_offset (unsigned int ss, unsigned int mm, unsigned int hh) { - return min (ss, 59) + min (mm, 59) * 60 + min (hh, 24) * 60 * 60; + if (ss > 59) + ss = 59; + if (mm > 59) + mm = 59; + if (hh > 24) + hh = 24; + return ss + mm * 60 + hh * 60 * 60; } /* Parses the time zone name at *TZP, and writes a pointer to an -- 2.7.4