]> granicus.if.org Git - pdns/commitdiff
Revert "Merge pull request #947 from mind04/right"
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Mon, 26 Sep 2016 12:52:10 +0000 (14:52 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Tue, 14 Feb 2017 14:41:00 +0000 (15:41 +0100)
This code only served to fix a combination of system misconfiguration and a
bug in glibc. Meanwhile it turns out this code is incorrect. Removing it.

(cherry picked from commit c96765dae8da4c9322ca4a80e3e101d64faf141f)

pdns/rcpgenerator.cc
pdns/unix_utility.cc
pdns/utility.hh

index 28edc95f4e26f4fe8f91c3ada46f24c3d92dd07b..5df38062217fac95b4ca47142a7864ccd0206c21 100644 (file)
@@ -495,7 +495,7 @@ void RecordTextWriter::xfrTime(const uint32_t& val)
   
   struct tm tm;
   time_t time=val; // Y2038 bug!
-  Utility::gmtime_r(&time, &tm);
+  gmtime_r(&time, &tm);
 
   char tmp[16];
   snprintf(tmp,sizeof(tmp)-1, "%04d%02d%02d" "%02d%02d%02d", 
index ed58314d05ea73dc16809cc35f1aa96eae662e7e..9fbe2c86075bc0fdeedf9dc5991ecf60930bd2e2 100644 (file)
@@ -305,30 +305,3 @@ time_t Utility::timegm(struct tm *const t)
   return ((day + t->tm_hour) * i + t->tm_min) * i + t->tm_sec;
 }
 
-// we have our own gmtime_r because the one in GNU libc violates POSIX/SuS
-// by supporting leap seconds when TZ=right/UTC
-void Utility::gmtime_r(const time_t *timer, struct tm *tmbuf) {
-
-  int monthdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
-  int days = *timer / 86400;
-  int leapdays = (days + 671) / 1461;
-  int leapydays = (days + 365) / 1461;
-
-  tmbuf->tm_hour = *timer / 3600 % 24;
-  tmbuf->tm_min = *timer / 60 % 60;
-  tmbuf->tm_sec = *timer % 60;
-
-  tmbuf->tm_year = (days - leapdays) / 365 + 70;
-  tmbuf->tm_yday = days - leapydays - (tmbuf->tm_year - 70) * 365 + 1;
-
-  tmbuf->tm_mon = 0;
-  tmbuf->tm_mday = tmbuf->tm_yday;
-  monthdays[1] += isleap(tmbuf->tm_year + 1900);
-  while (monthdays[tmbuf->tm_mon] < tmbuf->tm_mday) {
-    tmbuf->tm_mday -= monthdays[tmbuf->tm_mon];
-    tmbuf->tm_mon++;
-  }
-
-  tmbuf->tm_wday = (days + 4) % 7; // Day 0 is magic thursday ;)
-  tmbuf->tm_isdst = 0;
-}
index 0f344a27ae1fc881cfc6e8174c8eff8229235efb..8ea95fadc15ce3d6fcb9ee7a8f0caedf06f5d614 100644 (file)
@@ -151,8 +151,7 @@ public:
   static void usleep( unsigned long usec );
 
   static time_t timegm(struct tm *tm);
-
-  static void gmtime_r(const time_t *timer, struct tm *tmbuf);
+  
 };