pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:7902:    (flags | NO_MAX_ARGS) & ~(A_EXACT|B_EXACT)))) {    return 0;    }    free_type(tmp);    }    if(!(flags & NO_MAX_ARGS))    max_correct_args=MAX_INT32;    /* check the returntype */    a = a->cdr;    b = b->cdr; +  if (a && b) {    if ((b->type == T_VOID) && (a->type != T_VOID)) {    /* Promote b to a function returning zero. */    if (!(tmp = low_match_types(a, zero_type_string,    flags & ~(A_EXACT|B_EXACT)))) {    return 0;    }    free_type(tmp);    } else if ((a->type == T_VOID) && (b->type != T_VOID)) {    /* Promote a to a function returning zero. */    if(!(tmp = low_match_types(zero_type_string, b,    flags & ~(A_EXACT|B_EXACT)))) {    return 0;    }    free_type(tmp);    } else {    if(!(tmp = low_match_types(a, b, flags & ~(A_EXACT|B_EXACT)))) {    return 0;    }    free_type(tmp);    } -  +  }    add_ref(ret);    return ret;    }       if(a->type != b->type) return 0;       ret=a;    switch(a->type)    {    case T_MAPPING: