/* /secure/sefun/load_object.c * from the Dead Souls LPC Library * find and object and return it, or load an object and return it * created by Descartes of Borg 940213 */ object global_load_ob; object load_object(string str) { object ob; if(!str) return 0; if(!stringp(str)) error("Bad argument 1 to load_object().\n"); if(ob = find_object(str)) return ob; catch(call_other(str, "???")); return find_object(str); } int update(string file){ object ob; if(!file_exists(file)) file += ".c"; if(!file_exists(file)) return 1; if(last(file,2) == ".c") file = truncate(file,2); if(ob = find_object(file)) { global_load_ob = ob; unguarded( (: global_load_ob->eventDestruct() :) ); } if(find_object(file)) { if(find_object(file)) destruct(ob); } if(find_object(file)) { if(find_object(file)) reap_other(); } if(find_object(file)) { return 2; } catch(call_other(file, "???")); if(!find_object(file)) { load_object(file); } if(!find_object(file)) { return 3; } return 4; }