SYNOPSIS object previous_object() object previous_object(int i) DESCRIPTION Returns an object pointer to the object that did a call_other() to the current object, if any. There are two exceptions for previous_object(). When the object calls a own function with a call_other() the previous_object() will be unchanged and when a destructed object calls a function of the current object previous_object() will return 0. If the optional arg is given, the call_other()s are followed back i times (i.e. previous_object(2) returns the caller of the caller). 0 <= i <= caller_stack_depth()-1 EXAMPLE int security() { object prev; if(!(prev=previous_object())); else if(getuid(prev)!=getuid(this_object())); else if(geteuid(prev)!=geteuid(this_object())); else return 1; return 0; } void high_sensible_func() { if(!security()) return; ... } This example shows how we can check if the last call to a function of the current object is secure or if we should abort execution. SEE ALSO call_other(E), this_object(E), this_player(E), caller_stack_depth(E)