pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:191:    len=type_stackp - type_stack;    s=begin_shared_string(len);    for(e=0;e<len;e++) s->str[e] = *--type_stackp;    s=end_shared_string(s);    reset_type_stack();    return s;   }          - 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;       len=0;    for(len=0;isidchar(s[0][len]);len++)    {    if(len>=sizeof(buf)) error("Buffer overflow in parse_type\n");    buf[len] = s[0][len];    }    buf[len]=0;
pike.git/src/pike_types.c:235:    if(**s == ':')    {    push_type(T_MANY);    push_type(T_VOID);    break;    }       type_stack_mark();    type_stack_mark();    type_stack_mark(); -  internal_parse_type(s); +  internal_parse_type((char **)s);    type_stack_reverse();    if(**s==',')    {    ++*s;    while(ISSPACE(**s)) ++*s;    }    else if(s[0][0]=='.' && s[0][1]=='.' && s[0][2]=='.')    {    type_stack_reverse();    push_type(T_MANY);
pike.git/src/pike_types.c:257:    *s+=3;    while(ISSPACE(**s)) ++*s;    if(**s != ':') error("Missing ':' after ... in function type.\n");    break;    }    pop_stack_mark();    pop_stack_mark();    }    ++*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;    type_stack_reverse();    }else{    push_type(T_MIXED);    push_type(T_MIXED);    push_type(T_MANY);    }    push_type(T_FUNCTION);    }    else if(!strcmp(buf,"mapping"))    {    while(ISSPACE(**s)) ++*s;    if(**s == '(')    {    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;    type_stack_reverse();    }else{    push_type(T_MIXED);    push_type(T_MIXED);    }    push_type(T_MAPPING);    }    else if(!strcmp(buf,"array"))    {    while(ISSPACE(**s)) ++*s;    if(**s == '(')    {    ++*s; -  internal_parse_type(s); +  internal_parse_type((char **)s);    if(**s != ')') error("Expecting ')'.\n");    ++*s;    }else{    push_type(T_MIXED);    }    push_type(T_ARRAY);    }    else if(!strcmp(buf,"multiset"))    {    while(ISSPACE(**s)) ++*s;    if(**s == '(')    {    ++*s; -  internal_parse_type(s); +  internal_parse_type((char **)s);    if(**s != ')') error("Expecting ')'.\n");    ++*s;    }else{    push_type(T_MIXED);    }    push_type(T_MULTISET);    }    else    error("Couldn't parse type. (%s)\n",buf);