pike.git / src / encode.c

version» Context lines:

pike.git/src/encode.c:404:    if (t->type == T_MANY) {    addchar(T_FUNCTION ^ MIN_REF_TYPE);    EDB(1, {    ENCODE_WERR(".type function");    });    addchar(T_MANY);    EDB(1, {    ENCODE_WERR(".type many");    });    } else if (t->type == T_STRING) { -  if (t->car == int_type_string) { +  if (t->cdr == int_type_string) {    addchar(T_STRING ^ MIN_REF_TYPE);    EDB(1, {    ENCODE_WERR(".type string");    });    } else {    /* Narrow string */    addchar(PIKE_T_NSTRING);    EDB(1, {    ENCODE_WERR(".type nstring");    }); -  encode_type(t->car, data); +  encode_type(t->cdr, data);    }    return;    } else if (t->type <= MAX_TYPE) {    addchar(t->type ^ MIN_REF_TYPE);    EDB(1, {    ENCODE_WERR(".type %s",    get_name_of_type(t->type));    });    } else {    addchar(t->type);
pike.git/src/encode.c:491:    t = t->cdr;    goto one_more_type;       case T_MAPPING:    case T_OR:    case T_AND:    encode_type(t->car, data);    t = t->cdr;    goto one_more_type;    +  case T_ARRAY: +  t = t->cdr; +  goto one_more_type; +     case T_TYPE:    case T_PROGRAM: -  case T_ARRAY: +     case T_MULTISET:    case T_NOT:    t = t->car;    goto one_more_type;       case T_INT:    {    ptrdiff_t val;       buffer_add_be32(&data->buf, CAR_TO_INT(t));