version 1.8, 2003/06/03 02:56:20 |
version 1.9, 2004/09/15 22:12:19 |
|
|
|
|
switch (s->str[1]) { |
switch (s->str[1]) { |
case ':': /* "[:class:]" */ |
case ':': /* "[:class:]" */ |
if ((p = strstr(s->str + 2, ":]")) == NULL) |
if ((p = strstr((char *)s->str + 2, ":]")) == NULL) |
return (0); |
return (0); |
*p = '\0'; |
*p = '\0'; |
s->str += 2; |
s->str += 2; |
genclass(s); |
genclass(s); |
s->str = p + 2; |
s->str = (unsigned char *)p + 2; |
return (1); |
return (1); |
case '=': /* "[=equiv=]" */ |
case '=': /* "[=equiv=]" */ |
if ((p = strstr(s->str + 2, "=]")) == NULL) |
if ((p = strstr((char *)s->str + 2, "=]")) == NULL) |
return (0); |
return (0); |
s->str += 2; |
s->str += 2; |
genequiv(s); |
genequiv(s); |
return (1); |
return (1); |
default: /* "[\###*n]" or "[#*n]" */ |
default: /* "[\###*n]" or "[#*n]" */ |
if ((p = strpbrk(s->str + 2, "*]")) == NULL) |
if ((p = strpbrk((char *)s->str + 2, "*]")) == NULL) |
return (0); |
return (0); |
if (p[0] != '*' || strchr(p, ']') == NULL) |
if (p[0] != '*' || strchr(p, ']') == NULL) |
return (0); |
return (0); |
|
|
CLASS *cp, tmp; |
CLASS *cp, tmp; |
int *p; |
int *p; |
|
|
tmp.name = s->str; |
tmp.name = (char *)s->str; |
if ((cp = (CLASS *)bsearch(&tmp, classes, sizeof(classes) / |
if ((cp = (CLASS *)bsearch(&tmp, classes, sizeof(classes) / |
sizeof(CLASS), sizeof(CLASS), c_class)) == NULL) |
sizeof(CLASS), sizeof(CLASS), c_class)) == NULL) |
errx(1, "unknown class %s", s->str); |
errx(1, "unknown class %s", s->str); |
|
|
STR *s; |
STR *s; |
{ |
{ |
int stopval; |
int stopval; |
char *savestart; |
unsigned char *savestart; |
|
|
savestart = s->str; |
savestart = s->str; |
stopval = *++s->str == '\\' ? backslash(s) : *s->str++; |
stopval = *++s->str == '\\' ? backslash(s) : *s->str++; |
|
|
break; |
break; |
default: |
default: |
if (isdigit(*s->str)) { |
if (isdigit(*s->str)) { |
s->cnt = strtol(s->str, &ep, 0); |
s->cnt = strtol((char *)s->str, &ep, 0); |
if (*ep == ']') { |
if (*ep == ']') { |
s->str = ep + 1; |
s->str = (unsigned char *)ep + 1; |
break; |
break; |
} |
} |
} |
} |