pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:7236:    int flags)   {    int correct_args;    struct pike_type *ret = NULL;    struct pike_type *tmp;      #ifdef PIKE_DEBUG    fatal_check_c_stack(1024);   #endif    +  if (!a) { +  if (b) { +  add_ref(b); +  return b; +  } +  return NULL; +  } else if (!b) { +  add_ref(a); +  return a; +  } +     switch(a->type & PIKE_T_MASK)    {    case T_AND:    ret = low_match_types(a->car, b, flags);    if(!ret) return 0;    free_type(ret);    return low_match_types(a->cdr, b, flags);       case T_OR:    ret = low_match_types(a->car, b, flags);
pike.git/src/pike_types.cmod:7911:    int ret;       recurse:   #if 0    fprintf(stderr, "low_pike_types_le(%d, %d, %d, 0x%08x)\n",    a->type, b->type, array_cnt, flags);   #endif /* 0 */       if(a == b) return 1;    +  if (!a) return 1; +  if (!b) return 0; +    #ifdef TYPE_GROUPING    if (b->type != T_OR) {    flags &= ~LE_B_GROUPED;    }   #endif       switch(b->type & PIKE_T_MASK)    {    case T_AND:    /* OK, if a is a subset of both parts. */