aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-03-07 10:39:00 +0100
committerFlorian Weimer <fweimer@redhat.com>2017-03-07 17:45:39 +0100
commit6e3b52292a042ede4d053054a895167afd6edcf2 (patch)
tree46655351ed5d0dd234867bfc4f939a4e5e82bcbe
parenttimezone: Remove TZNAME_MAX limit from sysconf [BZ #15576] (diff)
downloadglibc-6e3b52292a042ede4d053054a895167afd6edcf2.tar.gz
glibc-6e3b52292a042ede4d053054a895167afd6edcf2.tar.bz2
glibc-6e3b52292a042ede4d053054a895167afd6edcf2.zip
tzset: Clean up preprocessor macros min, max, sign
-rw-r--r--ChangeLog8
-rw-r--r--time/tzset.c14
2 files changed, 15 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 63b9a15b2b..9045b60dd9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2017-03-07 Florian Weimer <fweimer@redhat.com>
+ * time/tzset.c (compute_offset): Open-code min macro.
+ (min, max, sign): Remove.
+
+2017-03-07 Florian Weimer <fweimer@redhat.com>
+
+2017-03-07 Florian Weimer <fweimer@redhat.com>
+
[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 f0e5c95e82..8868e9aada 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