NEWS.stable: log cherry-pick [e446f25]->[c092018] relocatable-shell: Update suggested...
[gnulib.git] / lib / posixtm.c
index b94c341..2fe81ab 100644 (file)
@@ -1,7 +1,6 @@
 /* Parse dates for touch and date.
 
-   Copyright (C) 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2003, 2004,
-   2005, 2006, 2007, 2009 Free Software Foundation Inc.
+   Copyright (C) 1989-1991, 1998, 2000-2014 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -38,7 +37,7 @@
    - It's typically faster.
    POSIX says that only '0' through '9' are digits.  Prefer ISDIGIT to
    isdigit unless it's important to use the locale's definition
-   of `digit' even when the host does not conform to POSIX.  */
+   of "digit" even when the host does not conform to POSIX.  */
 #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
 
 /*
@@ -66,33 +65,33 @@ year (struct tm *tm, const int *digit_pair, size_t n, unsigned int syntax_bits)
     case 1:
       tm->tm_year = *digit_pair;
       /* Deduce the century based on the year.
-        POSIX requires that 00-68 be interpreted as 2000-2068,
-        and that 69-99 be interpreted as 1969-1999.  */
+         POSIX requires that 00-68 be interpreted as 2000-2068,
+         and that 69-99 be interpreted as 1969-1999.  */
       if (digit_pair[0] <= 68)
-       {
-         if (syntax_bits & PDS_PRE_2000)
-           return 1;
-         tm->tm_year += 100;
-       }
+        {
+          if (syntax_bits & PDS_PRE_2000)
+            return 1;
+          tm->tm_year += 100;
+        }
       break;
 
     case 2:
       if (! (syntax_bits & PDS_CENTURY))
-       return 1;
+        return 1;
       tm->tm_year = digit_pair[0] * 100 + digit_pair[1] - 1900;
       break;
 
     case 0:
       {
-       time_t now;
-       struct tm *tmp;
-
-       /* Use current year.  */
-       time (&now);
-       tmp = localtime (&now);
-       if (! tmp)
-         return 1;
-       tm->tm_year = tmp->tm_year;
+        time_t now;
+        struct tm *tmp;
+
+        /* Use current year.  */
+        time (&now);
+        tmp = localtime (&now);
+        if (! tmp)
+          return 1;
+        tm->tm_year = tmp->tm_year;
       }
       break;
 
@@ -113,8 +112,8 @@ posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits)
 
   size_t s_len = strlen (s);
   size_t len = (((syntax_bits & PDS_SECONDS) && (dot = strchr (s, '.')))
-               ? (size_t) (dot - s)
-               : s_len);
+                ? (size_t) (dot - s)
+                : s_len);
 
   if (len != 8 && len != 10 && len != 12)
     return 1;
@@ -122,10 +121,10 @@ posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits)
   if (dot)
     {
       if (!(syntax_bits & PDS_SECONDS))
-       return 1;
+        return 1;
 
       if (s_len - len != 3)
-       return 1;
+        return 1;
     }
 
   for (i = 0; i < len; i++)
@@ -140,12 +139,12 @@ posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits)
   if (syntax_bits & PDS_LEADING_YEAR)
     {
       if (year (tm, p, len - 4, syntax_bits))
-       return 1;
+        return 1;
       p += len - 4;
       len = 4;
     }
 
-  /* Handle 8 digits worth of `MMDDhhmm'.  */
+  /* Handle 8 digits worth of 'MMDDhhmm'.  */
   tm->tm_mon = *p++ - 1;
   tm->tm_mday = *p++;
   tm->tm_hour = *p++;
@@ -156,7 +155,7 @@ posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits)
   if (syntax_bits & PDS_TRAILING_YEAR)
     {
       if (year (tm, p, len, syntax_bits))
-       return 1;
+        return 1;
     }
 
   /* Handle seconds.  */
@@ -170,7 +169,7 @@ posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits)
 
       ++dot;
       if (!ISDIGIT (dot[0]) || !ISDIGIT (dot[1]))
-       return 1;
+        return 1;
       seconds = 10 * (dot[0] - '0') + dot[1] - '0';
 
       tm->tm_sec = seconds;
@@ -201,10 +200,10 @@ posixtime (time_t *p, const char *s, unsigned int syntax_bits)
   else
     {
       /* mktime returns -1 for errors, but -1 is also a valid time_t
-        value.  Check whether an error really occurred.  */
+         value.  Check whether an error really occurred.  */
       tm = localtime (&t);
       if (! tm)
-       return false;
+        return false;
     }
 
   /* Reject dates like "September 31" and times like "25:61".