"???" : _time_info->abbrev_wkday[tp->tm_wday]),
"???" : _NL_CURRENT (LC_TIME, ABDAY_1 + tp->tm_wday)),
DEFUN(asctime, (tp), CONST struct tm *tp){  static const char format[] = "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n";  static char result[	         3+1+ 3+1+20+1+20+1+20+1+20+1+20+1 + 1];  if (tp == NULL)    {      errno = EINVAL;      return NULL;    }    if (sprintf (result, format,	       (tp->tm_wday < 0 || tp->tm_wday >= 7 ?		"???" : _time_info->abbrev_wkday[tp->tm_wday]),	       (tp->tm_mon < 0 || tp->tm_mon >= 12 ?		"???" : _time_info->abbrev_month[tp->tm_mon]),	       tp->tm_mday, tp->tm_hour, tp->tm_min,	       tp->tm_sec, 1900 + tp->tm_year) < 0)    return NULL;  return result;}