X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fposixtm.c;h=552474b9a163d275e67714ef9aa009a49de1369b;hb=9b71dd21dd3425978a8b121335bfca267a45a617;hp=b94c3410d263606755aa115ba9f2be7b1cf9df84;hpb=c67d87d7d22e5b049a1893d6ff644d79595151d0;p=gnulib.git diff --git a/lib/posixtm.c b/lib/posixtm.c index b94c3410d..552474b9a 100644 --- a/lib/posixtm.c +++ b/lib/posixtm.c @@ -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-2012 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".