while (isdigit(line[j])) {
while (isdigit(UCH(line[j]))) {
PRIVATE void parse_ls_line ARGS2(	char *,		line,	EntryInfo *,	entry_info){    short  i, j;    int    base=1;    int    size_num=0;    for (i = strlen(line) - 1;	 (i > 13) && (!isspace(line[i]) || !is_ls_date(&line[i-12])); i--)	; /* null body */    line[i] = '\0';    if (i > 13) {	StrAllocCopy(entry_info->date, &line[i-12]);	/* replace the 4th location with nbsp if it is a space or zero */	if (entry_info->date[4] == ' ' || entry_info->date[4] == '0')	    entry_info->date[4] = HT_NON_BREAK_SPACE;	/* make sure year or time is flush right */	if (entry_info->date[11] == ' ') {	    for (j = 11; j > 6; j--) {		entry_info->date[j] = entry_info->date[j-1];	    }	}    }    j = i - 14;    while (isdigit(line[j])) {	size_num += (line[j] - '0') * base;	base *= 10;	j--;    }    entry_info->size = size_num;    StrAllocCopy(entry_info->filename, &line[i + 1]);} /* parse_ls_line() */