pike.git
/
src
/
program.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/program.c:11356:
} } free_string(b_file); free_string(a_file); END_CYCLIC(); } PMOD_EXPORT void *parent_storage(int depth) { struct external_variable_context loc;
-
struct program *p;
+
-
+
loc.o = Pike_fp->current_object;
+
loc.parent_identifier = 0;
+
loc.inherit = Pike_fp->context;
-
loc.o=Pike_fp->current_object;
-
p=loc.o->prog;
-
if(!p)
-
{
-
/* magic fallback */
-
p=get_program_for_object_being_destructed(loc.o);
-
if(!p)
-
{
-
Pike_error("Cannot access parent of destructed object.\n");
-
}
-
}
-
-
if((Pike_fp->fun & 0xffff) == 0xffff)
-
Pike_error("Cannot access parent storage!\n");
-
-
loc.parent_identifier=Pike_fp->fun;
-
loc.inherit=INHERIT_FROM_INT(p, Pike_fp->fun);
-
+
find_external_context(&loc, depth); if (!loc.o->prog) Pike_error ("Cannot access storage of destructed parent object.\n"); return loc.o->storage + loc.inherit->storage_offset; } PMOD_EXPORT void change_compiler_compatibility(int major, int minor) {