pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:4334:    free_type(tmp);    free_type(tmp2);    return ret;      #ifdef PIKE_DEBUG    default:    Pike_fatal("Unsupported binary type operation: 0x%02x\n", op);   #endif    }    -  if (!a || !b) return NULL; +  if (!a || !b) { +  if (a) { +  if (op & PT_BINOP_MINUS) { +  add_ref(a); +  return a; +  } +  } else if (b) { +  if (op & PT_BINOP_INVERSE_MINUS) { +  add_ref(b); +  return b; +  } +  } else if (op & PT_BINOP_NOR) { +  type_stack_mark(); +  push_type(T_MIXED); +  push_type(T_VOID); +  push_type(T_OR); +  return pop_unfinished_string(); +  } +  return NULL; +  }       if (a == b) {    if (op & PT_BINOP_AND) {    /* FIXME: Perform masking of remap_flags here. */    return remap_markers(a, NULL, remap,    remap_flags | PT_FLAG_REMAP_BOTH_MARKERS_AND);    } else {    return NULL;    }    }