pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.c:936:    return !s->u.integer;    case PIKE_T_FUNCTION:    if (SUBTYPEOF(*s) == FUNCTION_BUILTIN) return 0;    /* FALLTHRU */    case PIKE_T_OBJECT:    return !s->u.object->prog;    }    return 0;    case T_ASSIGN:    case PIKE_T_NAME: -  case PIKE_T_ATTRIBUTE: +     type = type->cdr;    goto loop; -  +  case PIKE_T_ATTRIBUTE: +  { +  int ret; +  if (!low_check_soft_cast(s, type->cdr)) return 0; +  push_svalue(s); +  ref_push_string((struct pike_string *)type->car); +  SAFE_MAYBE_APPLY_MASTER("handle_attribute", 2); +  ret = !SAFE_IS_ZERO(Pike_sp-1) || IS_UNDEFINED(Pike_sp-1); +  pop_stack(); +  return ret; +  }    case T_AND:    if (!low_check_soft_cast(s, type->car)) return 0;    type = type->cdr;    goto loop;    case T_OR:    if (low_check_soft_cast(s, type->car)) return 1;    type = type->cdr;    goto loop;    case T_NOT:    return !low_check_soft_cast(s, type->car);