Branch: Tag:

1996-10-29

1996-10-29 21:39:44 by Per Hedbor <ph@opera.com>

Fix for 8bit-character support and infinite loop in lex.c

Rev: src/language.yacc:1.2
Rev: src/lex.c:1.4
Rev: src/macros.h:1.2
Rev: src/pike_types.c:1.3

198:          - static void internal_parse_typeA(char **s) + static void internal_parse_typeA(char **_s)   { -  char buf[80]; +  unsigned char buf[80];    unsigned int len; -  +  unsigned char **s = (unsigned char **)_s;       while(ISSPACE(**s)) ++*s;   
242:    type_stack_mark();    type_stack_mark();    type_stack_mark(); -  internal_parse_type(s); +  internal_parse_type((char **)s);    type_stack_reverse();    if(**s==',')    {
264:    }    ++*s;    type_stack_mark(); -  internal_parse_type(s); /* return type */ +  internal_parse_type((char **)s); /* return type */    type_stack_reverse();    if(**s != ')') error("Missing ')' in function type.\n");    ++*s;
284:    type_stack_mark();    ++*s;    type_stack_mark(); -  internal_parse_type(s); +  internal_parse_type((char **)s);    type_stack_reverse();    if(**s != ':') error("Expecting ':'.\n");    ++*s;    type_stack_mark(); -  internal_parse_type(s); +  internal_parse_type((char **)s);    type_stack_reverse();    if(**s != ')') error("Expecting ')'.\n");    ++*s;
306:    if(**s == '(')    {    ++*s; -  internal_parse_type(s); +  internal_parse_type((char **)s);    if(**s != ')') error("Expecting ')'.\n");    ++*s;    }else{
320:    if(**s == '(')    {    ++*s; -  internal_parse_type(s); +  internal_parse_type((char **)s);    if(**s != ')') error("Expecting ')'.\n");    ++*s;    }else{