#endif
#define recursive(new_fmt) \
(*(new_fmt) != '\0' \
- && strptime_internal (rp, (new_fmt), tm, decided) != NULL)
+ && (rp = strptime_internal (rp, (new_fmt), tm, decided)) != NULL)
#ifdef _LIBC
#ifdef _NL_CURRENT
if (*decided !=raw)
{
- if (match_string (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt), rp))
+ if (match_string (_NL_CURRENT (LC_TIME, DAY_1 + cnt), rp))
{
if (*decided == not
- && strcmp (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt),
- ab_weekday_name[cnt]))
+ && strcmp (_NL_CURRENT (LC_TIME, DAY_1 + cnt),
+ weekday_name[cnt]))
*decided = loc;
break;
}
- if (match_string (_NL_CURRENT (LC_TIME, DAY_1 + cnt), rp))
+ if (match_string (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt), rp))
{
if (*decided == not
- && strcmp (_NL_CURRENT (LC_TIME, DAY_1 + cnt),
- weekday_name[cnt]))
+ && strcmp (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt),
+ ab_weekday_name[cnt]))
*decided = loc;
break;
}
}
#endif
if (*decided != loc
- && (match_string (ab_weekday_name[cnt], rp)
- || match_string (weekday_name[cnt], rp)))
+ && (match_string (weekday_name[cnt], rp)
+ || match_string (ab_weekday_name[cnt], rp)))
{
*decided = raw;
break;
#ifdef _NL_CURRENT
if (*decided !=raw)
{
- if (match_string (_NL_CURRENT (LC_TIME, ABMON_1 + cnt), rp))
+ if (match_string (_NL_CURRENT (LC_TIME, MON_1 + cnt), rp))
{
if (*decided == not
- && strcmp (_NL_CURRENT (LC_TIME, ABMON_1 + cnt),
- ab_month_name[cnt]))
+ && strcmp (_NL_CURRENT (LC_TIME, MON_1 + cnt),
+ month_name[cnt]))
*decided = loc;
break;
}
- if (match_string (_NL_CURRENT (LC_TIME, MON_1 + cnt), rp))
+ if (match_string (_NL_CURRENT (LC_TIME, ABMON_1 + cnt), rp))
{
if (*decided == not
- && strcmp (_NL_CURRENT (LC_TIME, MON_1 + cnt),
- month_name[cnt]))
+ && strcmp (_NL_CURRENT (LC_TIME, ABMON_1 + cnt),
+ ab_month_name[cnt]))
*decided = loc;
break;
}
}
#endif
- if (match_string (ab_month_name[cnt], rp)
- || match_string (month_name[cnt], rp))
+ if (match_string (month_name[cnt], rp)
+ || match_string (ab_month_name[cnt], rp))
{
*decided = raw;
break;
case 'Y':
/* Match year including century number. */
get_number (0, INT_MAX);
- tm->tm_year = val - (val >= 2000 ? 2000 : 1900);
+ tm->tm_year = val - 1900;
break;
case 'Z':
/* XXX How to handle this? */