pike.git
/
src
/
builtin.cmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/builtin.cmod:3568:
} PIKEFUN int `==(mixed other) flags ID_PROTECTED; { if (other->type != T_OBJECT) { pop_stack(); push_int(0); return; }
+
+
/* Look for the is_val_null constant directly in the program of
+
* other, without going through its `[]. When this is called in a
+
* codec, other can be a completely arbitrary object which may not
+
* have a `[] that works in that context. */
+
push_int (0);
+
ref_push_program (other->u.object->prog);
push_constant_text("is_sql_null");
-
o
_index();
+
if (program
_index
_no_free
(
Pike_sp - 3, Pike_sp - 2, Pike_sp - 1
)
&&
+
Pike_sp[-3].type == T_INT && Pike_sp[-3].u.integer) {
+
pop_n_elems (4)
;
+
push_int (1);
}
-
+
else {
+
pop_n_elems (4);
+
push_int (0);
+
}
+
}
/*! @decl string encode_json() *! *! Defined for use with @[Standards.JSON.encode], so that it *! formats NULL as @expr{null@}. */ PIKEFUN string encode_json(...) { push_constant_text ("null"); }