xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
[gnulib.git] / lib / mktime.c
index 3dab58a..772b4f3 100644 (file)
@@ -1,5 +1,5 @@
 /* Convert a `struct tm' to a time_t value.
-   Copyright (C) 1993-1999, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1993-1999, 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Paul Eggert (eggert@twinsun.com).
 
@@ -77,7 +77,7 @@ verify (base_year_is_a_multiple_of_100, TM_YEAR_BASE % 100 == 0);
 
 /* Return 1 if YEAR + TM_YEAR_BASE is a leap year.  */
 static inline int
-leapyear (int year)
+leapyear (long int year)
 {
   /* Don't add YEAR to TM_YEAR_BASE, as that might overflow.
      Also, work even if YEAR is negative.  */
@@ -108,6 +108,7 @@ const unsigned short int __mon_yday[2][13] =
 # include "time_r.h"
 # undef __localtime_r
 # define __localtime_r localtime_r
+# define __mktime_internal mktime_internal
 #endif
 
 /* Return an integer value measuring (YEAR1-YDAY1 HOUR1:MIN1:SEC1) -
@@ -230,7 +231,8 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *),
    the monotonic and mostly-unit-linear conversion function CONVERT.
    Use *OFFSET to keep track of a guess at the offset of the result,
    compared to what the result would be for UTC without leap seconds.
-   If *OFFSET's guess is correct, only one CONVERT call is needed.  */
+   If *OFFSET's guess is correct, only one CONVERT call is needed.
+   This function is external because it is used also by timegm.c.  */
 time_t
 __mktime_internal (struct tm *tp,
                   struct tm *(*convert) (const time_t *, struct tm *),
@@ -493,7 +495,6 @@ not_equal_tm (const struct tm *a, const struct tm *b)
          | (a->tm_mday ^ b->tm_mday)
          | (a->tm_mon ^ b->tm_mon)
          | (a->tm_year ^ b->tm_year)
-         | (a->tm_mday ^ b->tm_mday)
          | (a->tm_yday ^ b->tm_yday)
          | (a->tm_isdst ^ b->tm_isdst));
 }