Below are proposed changes to zic.c and zdump.c to avoid compiler warnings about invocations of the is.* macros, to meet standard requirements for calling the macros, and to make the invocations consistent. I plan to deal with gettext issues in the next round of changes. --ado ------- zic.c ------- *** /tmp/geta6691 Tue Dec 6 11:01:47 2005 --- /tmp/getb6691 Tue Dec 6 11:01:47 2005 *************** *** 1,4 **** ! static char elsieid[] = "@(#)zic.c 7.124"; /* ** Regardless of the type of time_t, we do our work using this type. --- 1,4 ---- ! static char elsieid[] = "@(#)zic.c 7.125"; /* ** Regardless of the type of time_t, we do our work using this type. *************** *** 2046,2053 **** emalloc((int) ((strlen(cp) + 1) * sizeof *array)); nsubs = 0; for ( ; ; ) { ! while (isascii(*cp) && isspace((unsigned char) *cp)) ! ++cp; if (*cp == '\0' || *cp == '#') break; array[nsubs++] = dp = cp; --- 2046,2054 ---- emalloc((int) ((strlen(cp) + 1) * sizeof *array)); nsubs = 0; for ( ; ; ) { ! while (isascii((unsigned char) *cp) && ! isspace((unsigned char) *cp)) ! ++cp; if (*cp == '\0' || *cp == '#') break; array[nsubs++] = dp = cp; *************** *** 2210,2217 **** */ cp = string; wp = NULL; ! while (isascii(*cp) && isalpha(*cp)) ! ++cp; if (cp - string == 0) wp = _("time zone abbreviation lacks alphabetic at start"); if (noise && cp - string > 3) --- 2211,2219 ---- */ cp = string; wp = NULL; ! while (isascii((unsigned char) *cp) && ! isalpha((unsigned char) *cp)) ! ++cp; if (cp - string == 0) wp = _("time zone abbreviation lacks alphabetic at start"); if (noise && cp - string > 3) *************** *** 2220,2228 **** wp = _("time zone abbreviation has too many alphabetics"); if (wp == NULL && (*cp == '+' || *cp == '-')) { ++cp; ! if (isascii(*cp) && isdigit(*cp)) ! if (*cp++ == '1' && *cp >= '0' && *cp <= '4') ! ++cp; } if (*cp != '\0') wp = _("time zone abbreviation differs from POSIX standard"); --- 2222,2232 ---- wp = _("time zone abbreviation has too many alphabetics"); if (wp == NULL && (*cp == '+' || *cp == '-')) { ++cp; ! if (isascii((unsigned char) *cp) && ! isdigit((unsigned char) *cp)) ! if (*cp++ == '1' && ! *cp >= '0' && *cp <= '4') ! ++cp; } if (*cp != '\0') wp = _("time zone abbreviation differs from POSIX standard"); ------- zdump.c ------- *** /tmp/geta6709 Tue Dec 6 11:01:48 2005 --- /tmp/getb6709 Tue Dec 6 11:01:48 2005 *************** *** 1,4 **** ! static char elsieid[] = "@(#)zdump.c 7.70"; /* ** This code has been made independent of the rest of the time --- 1,4 ---- ! static char elsieid[] = "@(#)zdump.c 7.71"; /* ** This code has been made independent of the rest of the time *************** *** 209,215 **** return; cp = abbrp; wp = NULL; ! while (isascii(*cp) && isalpha(*cp)) ++cp; if (cp - abbrp == 0) wp = _("lacks alphabetic at start"); --- 209,215 ---- return; cp = abbrp; wp = NULL; ! while (isascii((unsigned char) *cp) && isalpha((unsigned char) *cp)) ++cp; if (cp - abbrp == 0) wp = _("lacks alphabetic at start"); *************** *** 219,227 **** wp = _("has more than 6 alphabetics"); if (wp == NULL && (*cp == '+' || *cp == '-')) { ++cp; ! if (isascii(*cp) && isdigit(*cp)) ! if (*cp++ == '1' && *cp >= '0' && *cp <= '4') ! ++cp; } if (*cp != '\0') wp = _("differs from POSIX standard"); --- 219,228 ---- wp = _("has more than 6 alphabetics"); if (wp == NULL && (*cp == '+' || *cp == '-')) { ++cp; ! if (isascii((unsigned char) *cp) && ! isdigit((unsigned char) *cp)) ! if (*cp++ == '1' && *cp >= '0' && *cp <= '4') ! ++cp; } if (*cp != '\0') wp = _("differs from POSIX standard");