]> sourceware.org Git - glibc.git/commitdiff
mktime: simplify computation of average
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 16 Mar 2012 10:15:57 +0000 (03:15 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 23 May 2012 21:36:25 +0000 (14:36 -0700)
* time/mktime.c (ranged_convert): Use new time_t_avg function
instead of rolling our own (probably-slower) code.

ChangeLog
time/mktime.c

index 066a6dafbf55b7ac770070f1545b22c972d0d7da..e795eca88125d72221862ad286505306af54b9fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
 
+       mktime: simplify computation of average
+       * time/mktime.c (ranged_convert): Use new time_t_avg function
+       instead of rolling our own (probably-slower) code.
+
        mktime: do not assume signed right shift propagates sign bit
        * time/mktime.c (isdst_differ): New static function.
        (__mktime_internal): No need to normalize tm_isdst now.
index dd7daaf948cc667230ab7a36cec554e7ea986dc4..f4d9cf1528756eed90909348d80ad85a8b79d269 100644 (file)
@@ -319,9 +319,7 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *),
         they differ by 1.  */
       while (bad != ok + (bad < 0 ? -1 : 1))
        {
-         time_t mid = *t = (bad < 0
-                            ? bad + ((ok - bad) >> 1)
-                            : ok + ((bad - ok) >> 1));
+         time_t mid = *t = time_t_avg (ok, bad);
          r = convert (t, tp);
          if (r)
            ok = mid;
This page took 0.113198 seconds and 5 git commands to generate.