pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:3802: Inside #if 0
   stupid_describe_type(b,type_length(b));    }   #endif       /* object(* 0) matches any object */    if(!a->cdr || !b->cdr) break;       /* object(* x) =? object(* x) */    if (a->cdr == b->cdr) break;    -  /* object(x *) =? object(x *) */ -  if(TEST_COMPAT(7,4) && a->car == b->car) -  { -  /* x? */ -  if(a->car) -  { -  /* object(1 x) =? object(1 x) */ -  return 0; -  }else{ -  /* object(0 *) =? object(0 *) */ -  break; -  } -  } -  +     /* Note: In Pike 7.4 and earlier the following was only done    * when a->car != b->car.    */    {    struct program *ap,*bp;    ap = id_to_program(CDR_TO_INT(a));    bp = id_to_program(CDR_TO_INT(b));       if(!ap || !bp) break;   
pike.git/src/pike_types.c:4572:    if(!b->cdr)    return 1;       if(!a->cdr)    return 0;       /* The 'is' flag is now ignored.    * /grubba 2003-11-11    */    -  if (TEST_COMPAT(7,4)) { -  if ((a->car || !b->car) && -  (a->cdr == b->cdr)) -  return 1; -  -  if (b->car) { -  return 0; -  } -  } -  else { +     if (a->cdr == b->cdr)    return 1; -  } +        {    struct program *ap = id_to_program(CDR_TO_INT(a));    struct program *bp = id_to_program(CDR_TO_INT(b));      #if 0    fprintf(stderr,    "id_to_program(%d) ==> %p\n"    "id_to_program(%d) ==> %p\n",    CDR_TO_INT(a), ap,    CDR_TO_INT(b), bp);   #endif /* 0 */       if (!ap || !bp) {    /* Shouldn't happen... */    /* fprintf(stderr, "ap:%p bp:%p\n", ap, bp); */    return 0;    } -  if ((flags & LE_WEAK_OBJECTS) && -  (!TEST_COMPAT(7,4) || (!a->car))) { +  if ((flags & LE_WEAK_OBJECTS) && !a->car) {    implements_mode = 0;   #if 0    fprintf(stderr, " is_compat(%p(%d), %p(%d))\n",    ap, ap->id, bp, bp->id);   #endif /* 0 */    return is_compatible(implements_a=ap, implements_b=bp);    }    implements_mode = 1;   #if 0    fprintf(stderr, " implements(%p(%d), %p(%d))\n",