diff -cNr lib/GAME_START lib.new/GAME_START *** lib/GAME_START Sun Sep 13 12:19:20 1998 --- lib.new/GAME_START Sun Sep 13 12:19:09 1998 *************** *** 1 **** ! Thu Mar 16 21:07:23 1995Thu Mar 16 21:08:41 1995Thu Mar 16 21:10:55 1995 --- 1 ---- ! Sun Sep 13 12:19:00 1998 diff -cNr lib/dgd/lib/auto.c lib.new/dgd/lib/auto.c *** lib/dgd/lib/auto.c Fri Mar 17 06:21:38 1995 --- lib.new/dgd/lib/auto.c Sat Sep 12 18:29:21 1998 *************** *** 54,60 **** { object save_player; ! lock(initialize()); save_player = this_player(); this_object()->create(); --- 54,60 ---- { object save_player; ! rlimits (-1; -1) { catch(initialize()); }; save_player = this_player(); this_object()->create(); diff -cNr lib/dgd/lib/comm.c lib.new/dgd/lib/comm.c *** lib/dgd/lib/comm.c Fri Mar 17 06:21:38 1995 --- lib.new/dgd/lib/comm.c Sat Sep 12 18:25:19 1998 *************** *** 142,150 **** if (player != 0 && ::query_ip_number(player) != 0) { int res; ! lock(privileged = 1, ! res = player->_F_set_input_to(this_object(), func, flag), ! privileged = 0); return res; } error("False input_to"); --- 142,152 ---- if (player != 0 && ::query_ip_number(player) != 0) { int res; ! rlimits (-1; -1) { ! privileged = 1; ! catch(res = player->_F_set_input_to(this_object(), func, flag)); ! privileged = 0; ! } return res; } error("False input_to"); *************** *** 174,187 **** */ for (i = 0, sz = sizeof(u); i < sz; i++) { ! lock(privileged = 1, ! snooper = u[i]->query_user()->_Q_snoop(), ! privileged = 0); if (snooper == player->query_user()) { ! lock(privileged = 1, ! u[i]->query_user()->_F_snoop(0), ! privileged = 0); return 1; } } --- 176,193 ---- */ for (i = 0, sz = sizeof(u); i < sz; i++) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(snooper = u[i]->query_user()->_Q_snoop()); ! privileged = 0; ! } if (snooper == player->query_user()) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(u[i]->query_user()->_F_snoop(0)); ! privileged = 0; ! } return 1; } } *************** *** 199,216 **** { if (!_MASTER_OB->valid_snoop(player, player, snooper)) return 0; ! lock(privileged = 1, ! obj->query_user()->_F_snoop(0), ! privileged = 0); } else { snooper = query_snoop(player); if (snooper == obj) /* avoid recursive snoop */ return 0; ! lock(privileged = 1, ! obj->query_user()->_F_snoop(player->query_user()), ! privileged = 0); } return 1; } --- 205,226 ---- { if (!_MASTER_OB->valid_snoop(player, player, snooper)) return 0; ! rlimits (-1; -1) { ! privileged = 1; ! catch(obj->query_user()->_F_snoop(0)); ! privileged = 0; ! } } else { snooper = query_snoop(player); if (snooper == obj) /* avoid recursive snoop */ return 0; ! rlimits (-1; -1) { ! privileged = 1; ! catch(obj->query_user()->_F_snoop(player->query_user())); ! privileged = 0; ! } } return 1; } *************** *** 221,234 **** */ if (!_MASTER_OB->valid_snoop(player, player, snoopee)) return 0; ! lock(privileged = 1, ! snooper = snoopee->query_user()->_Q_snoop(), ! privileged = 0); if (snooper) return 0; ! lock(privileged = 1, ! snoopee->query_user()->_F_snoop(obj->query_user()), ! privileged = 0); return 1; } return 0; --- 231,248 ---- */ if (!_MASTER_OB->valid_snoop(player, player, snoopee)) return 0; ! rlimits (-1; -1) { ! privileged = 1; ! catch(snooper = snoopee->query_user()->_Q_snoop()); ! privileged = 0; ! } if (snooper) return 0; ! rlimits (-1; -1) { ! privileged = 1; ! catch(snoopee->query_user()->_F_snoop(obj->query_user())); ! privileged = 0; ! } return 1; } return 0; *************** *** 259,277 **** return 0; if ((usr = whom->query_user())) { ! lock(privileged = 1, ! usr->switch_player(0), /* possessed persons user object saved */ ! puser->switch_player(whom), ! whom->set_user(0), ! puser->_F_snoop(usr), ! privileged = 0); whom->set_user(puser); /* we are controlled by possesser now */ bywhom->set_user(0); return 1; } else { ! lock(privileged = 1, ! puser->switch_player(whom), ! privileged = 0); whom->set_user(puser); bywhom->set_user(0); return 1; --- 273,295 ---- return 0; if ((usr = whom->query_user())) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(usr->switch_player(0)); /* possessed persons user object saved */ ! catch(puser->switch_player(whom)); ! catch(whom->set_user(0)); ! catch(puser->_F_snoop(usr)); ! privileged = 0; ! } whom->set_user(puser); /* we are controlled by possesser now */ bywhom->set_user(0); return 1; } else { ! rlimits (-1; -1) { ! privileged = 1; ! catch(puser->switch_player(whom)); ! privileged = 0; ! } whom->set_user(puser); bywhom->set_user(0); return 1; *************** *** 310,331 **** } if (!usr) { ! lock(privileged = 1, ! puser->switch_player(opl), /* switched back */ ! puser->_F_reset_splayer(), ! privileged = 0); opl->set_user(puser); opl->set_linkdead(0); possesser->set_user(0); return 1; } else { ! lock(privileged = 1, ! usr->switch_player(pl), ! usr->_F_reset_splayer(), ! puser->switch_player(opl), ! puser->_F_reset_splayer(), ! puser->_F_snoop(0), ! privileged = 0); pl->set_user(usr); opl->set_user(puser); opl->set_linkdead(0); --- 328,353 ---- } if (!usr) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(puser->switch_player(opl)); /* switched back */ ! catch(puser->_F_reset_splayer()); ! privileged = 0; ! } opl->set_user(puser); opl->set_linkdead(0); possesser->set_user(0); return 1; } else { ! rlimits (-1; -1) { ! privileged = 1; ! catch(usr->switch_player(pl)); ! catch(usr->_F_reset_splayer()); ! catch(puser->switch_player(opl)); ! catch(puser->_F_reset_splayer()); ! catch(puser->_F_snoop(0)); ! privileged = 0; ! } pl->set_user(usr); opl->set_user(puser); opl->set_linkdead(0); *************** *** 350,358 **** if (!player || ::query_ip_number(obj->query_user()) == 0 || player->query_wiz_level() < 41) return 0; ! lock(privileged = 1, ! snooper = obj->query_user()->_Q_snoop(), ! privileged = 0); if (snooper) return snooper->query_player(); else --- 372,382 ---- if (!player || ::query_ip_number(obj->query_user()) == 0 || player->query_wiz_level() < 41) return 0; ! rlimits (-1; -1) { ! privileged = 1; ! catch(snooper = obj->query_user()->_Q_snoop()); ! privileged = 0; ! } if (snooper) return snooper->query_player(); else diff -cNr lib/dgd/lib/creator.c lib.new/dgd/lib/creator.c *** lib/dgd/lib/creator.c Fri Mar 17 06:21:42 1995 --- lib.new/dgd/lib/creator.c Sat Sep 12 18:13:21 1998 *************** *** 60,68 **** else creator = "backbone"; ! lock( privileged = 1, ! this_object()->seteuid(creator), ! privileged = 0); } --- 60,70 ---- else creator = "backbone"; ! rlimits (-1; -1) { ! privileged = 1; ! catch(this_object()->seteuid(creator)); ! privileged = 0; ! } } diff -cNr lib/dgd/lib/file.c lib.new/dgd/lib/file.c *** lib/dgd/lib/file.c Fri Mar 17 06:21:38 1995 --- lib.new/dgd/lib/file.c Sat Sep 12 18:31:18 1998 *************** *** 139,154 **** error("Illegal start of ed"); } ! lock(privileged = 1, ! editor = usr->_Q_editor(), ! privileged = 0); if (editor != 0) { error("Tried to start an ed session, when already active"); } ! lock(privileged = 1, ! editor = clone_object("/dgd/std/editor"), ! usr->_F_editor(editor, exit_func), ! privileged = 0); if (file == 0) { editor->edit(); --- 139,158 ---- error("Illegal start of ed"); } ! rlimits (-1; -1) { ! privileged = 1; ! catch(editor = usr->_Q_editor()); ! privileged = 0; ! } if (editor != 0) { error("Tried to start an ed session, when already active"); } ! rlimits (-1; -1) { ! privileged = 1; ! catch(editor = clone_object("/dgd/std/editor")); ! catch(usr->_F_editor(editor, exit_func)); ! privileged = 0; ! } if (file == 0) { editor->edit(); *************** *** 264,272 **** } line = 1; if (this_player() && (user = this_player()->query_user())) { ! lock(privileged = 1, ! saved = user->query_file_offset(file), ! privileged = 0); if (saved != 0) { line = saved[0]; if (line > 2 * first) { --- 268,278 ---- } line = 1; if (this_player() && (user = this_player()->query_user())) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(saved = user->query_file_offset(file)); ! privileged = 0; ! } if (saved != 0) { line = saved[0]; if (line > 2 * first) { *************** *** 337,345 **** line += first + num; offset += strlen(implode(lines[0 .. first + num - 1], "\n")) + 1; ! lock(privileged = 1, ! user->set_file_offset(file, line, offset), ! privileged = 0); } return lines[first .. first + num - 1] + ({ "" }); } --- 343,353 ---- line += first + num; offset += strlen(implode(lines[0 .. first + num - 1], "\n")) + 1; ! rlimits (-1; -1) { ! privileged = 1; ! catch(user->set_file_offset(file, line, offset)); ! privileged = 0; ! } } return lines[first .. first + num - 1] + ({ "" }); } diff -cNr lib/dgd/lib/global.c lib.new/dgd/lib/global.c *** lib/dgd/lib/global.c Fri Mar 17 06:21:41 1995 --- lib.new/dgd/lib/global.c Sun Sep 13 12:12:59 1998 *************** *** 5,13 **** static void set_this_player(object player) { if (this_object() != 0) { ! lock(privileged = 1, ! _GLOBAL_OB->set_this_player(player), ! privileged = 0); } } --- 5,15 ---- static void set_this_player(object player) { if (this_object() != 0) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(_GLOBAL_OB->set_this_player(player)); ! privileged = 0; ! } } } *************** *** 56,64 **** ARGCHECK(name, set_living_name, 1); if (this_object() != 0) { ! lock(privileged = 1, ! _GLOBAL_OB->set_living_name(name), ! privileged = 0); } } --- 58,68 ---- ARGCHECK(name, set_living_name, 1); if (this_object() != 0) { ! rlimits (-1;-1) { ! privileged = 1; ! catch(_GLOBAL_OB->set_living_name(name)); ! privileged = 0; ! } } } *************** *** 129,137 **** private void set_verb(string verb) { if (this_object() != 0) { ! lock(privileged = 1, ! _GLOBAL_OB->set_verb(verb), ! privileged = 0); } } --- 133,143 ---- private void set_verb(string verb) { if (this_object() != 0) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(_GLOBAL_OB->set_verb(verb)); ! privileged = 0; ! } } } *************** *** 160,162 **** --- 166,189 ---- else return this_player(); } + + /* + * NAME: clone_object() + */ + static + object + clone_object(mixed obj) { + object foo; + switch (typeof(obj)) { + case T_STRING : + foo = find_object(obj) ? find_object(obj) : compile_object(obj); + break; + case T_OBJECT : + foo = (object) obj; + break; + default : + return 0; + } + return (foo) ? ::clone_object(foo) : 0; + } + diff -cNr lib/dgd/lib/global.h lib.new/dgd/lib/global.h *** lib/dgd/lib/global.h Fri Mar 17 06:21:41 1995 --- lib.new/dgd/lib/global.h Sat Sep 12 18:33:20 1998 *************** *** 11,14 **** --- 11,16 ---- static string query_verb(); static object this_interactive(); + static object clone_object(mixed obj); + # define INIT_GLOBAL() diff -cNr lib/dgd/lib/inventory.c lib.new/dgd/lib/inventory.c *** lib/dgd/lib/inventory.c Fri Mar 17 06:21:40 1995 --- lib.new/dgd/lib/inventory.c Sat Sep 12 18:24:29 1998 *************** *** 69,77 **** { object *inv; ! lock(privileged = 1, ! inv = obj->_Q_inv(), ! privileged = 0); return inv; } --- 69,79 ---- { object *inv; ! rlimits (-1; -1) { ! privileged = 1, ! catch(inv = obj->_Q_inv()); ! privileged = 0; ! } return inv; } *************** *** 137,143 **** return; } } ! lock(move(obj, env, dest)); if (living(obj)) { set_this_player(obj); dest->init(); --- 139,147 ---- return; } } ! rlimits (-1; -1) { ! catch(move(obj, env, dest)); ! } if (living(obj)) { set_this_player(obj); dest->init(); *************** *** 224,234 **** int i, sz; if (ob) { ! lock(privileged = 1, ! (from ? from->_F_rm_inv(ob) : ""), ! ob->_F_move(this_object()), ! this_object()->_F_add_inv(ob), ! privileged = 0); return; } --- 228,240 ---- int i, sz; if (ob) { ! rlimits (-1; -1) { ! privileged = 1; ! catch((from ? from->_F_rm_inv(ob) : "")); ! catch(ob->_F_move(this_object())); ! catch(this_object()->_F_add_inv(ob)); ! privileged = 0; ! } return; } *************** *** 236,247 **** inventory += all[..]; for (i=0, sz = sizeof(all); i < sz; i++) { ! lock(privileged = 1, ! all[i]->_F_move(this_object()), ! privileged = 0); ! } ! lock(privileged = 1, ! from->_F_rm_all(), ! privileged = 0); } --- 242,257 ---- inventory += all[..]; for (i=0, sz = sizeof(all); i < sz; i++) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(all[i]->_F_move(this_object())); ! privileged = 0; ! } ! } ! rlimits (-1; -1) { ! privileged = 1; ! catch(from->_F_rm_all()); ! privileged = 0; ! } } diff -cNr lib/dgd/lib/living.c lib.new/dgd/lib/living.c *** lib/dgd/lib/living.c Fri Mar 17 06:21:39 1995 --- lib.new/dgd/lib/living.c Sat Sep 12 18:20:52 1998 *************** *** 62,70 **** */ private void remove_actions(object player, object obj) { ! lock(privileged = 1, ! player->_F_remove_actions(obj), ! privileged = 0); } /****************************************************************************** --- 62,72 ---- */ private void remove_actions(object player, object obj) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(player->_F_remove_actions(obj)); ! privileged = 0; ! } } /****************************************************************************** *************** *** 130,138 **** { ARGCHECK(func, define_action, 1); ! lock(privileged = 1, ! this_object()->_F_add_action(this_object(), verb, func, flag), ! privileged = 0); } /****************************************************************************** --- 132,142 ---- { ARGCHECK(func, define_action, 1); ! rlimits (-1; -1) { ! privileged = 1; ! catch(this_object()->_F_add_action(this_object(), verb, func, flag)); ! privileged = 0; ! } } /****************************************************************************** *************** *** 145,153 **** ARGCHECK(func, define_primary, 1); ARGCHECK(obj, define_primary, 2); ! lock(privileged = 1, ! this_player()->_D_primary(func, obj), ! privileged = 0); } /****************************************************************************** --- 149,159 ---- ARGCHECK(func, define_primary, 1); ARGCHECK(obj, define_primary, 2); ! rlimits (-1; -1) { ! privileged = 1; ! catch(this_player()->_D_primary(func, obj)); ! privileged = 0; ! } } /****************************************************************************** *************** *** 176,184 **** ARGCHECK(func, define_primary, 1); ARGCHECK(obj, define_primary, 2); ! lock(privileged = 1, ! this_player()->_U_primary(func, obj), ! privileged = 0); } /****************************************************************************** --- 182,192 ---- ARGCHECK(func, define_primary, 1); ARGCHECK(obj, define_primary, 2); ! rlimits (-1; -1) { ! privileged = 1; ! catch(this_player()->_U_primary(func, obj)); ! privileged = 0; ! } } /****************************************************************************** *************** *** 323,331 **** arg = ret[1]; } ! lock(privileged = 1, ! primary = player->_Q_primary(), ! privileged = 0); for (i = 0, sz = sizeof(primary); i < sz; i++) { --- 331,341 ---- arg = ret[1]; } ! rlimits (-1; -1) { ! privileged = 1; ! catch(primary = player->_Q_primary()); ! privileged = 0; ! } for (i = 0, sz = sizeof(primary); i < sz; i++) { diff -cNr lib/dgd/lib/simfun.c lib.new/dgd/lib/simfun.c *** lib/dgd/lib/simfun.c Fri Mar 17 06:21:42 1995 --- lib.new/dgd/lib/simfun.c Sat Sep 12 18:23:21 1998 *************** *** 155,168 **** return; env = environment(obj); if (env) { ! lock(remove_inv(obj, env)); } if ((usr = obj->query_user()) && (usr->query_player() == obj)) { ! lock(privileged = 1, ! usr->disconnect(), ! privileged = 0); } ::destruct_object(obj); } --- 155,170 ---- return; env = environment(obj); if (env) { ! rlimits (-1; -1) { catch(remove_inv(obj, env)); } } if ((usr = obj->query_user()) && (usr->query_player() == obj)) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(usr->disconnect()); ! privileged = 0; ! } } ::destruct_object(obj); } *************** *** 272,279 **** static void shutdown() { set_this_player(0); ! lock(save_all(), ! ::shutdown()); } /****************************************************************************** --- 274,283 ---- static void shutdown() { set_this_player(0); ! rlimits (-1; -1) { ! catch(save_all()); ! catch(::shutdown()); ! } } /****************************************************************************** *************** *** 309,317 **** player = this_player(); if (player != 0) { ! lock(privileged = 1, ! player->set_notify_fail(mesg), ! privileged = 0); } } --- 313,323 ---- player = this_player(); if (player != 0) { ! rlimits (-1; -1) { ! privileged = 1, ! catch(player->set_notify_fail(mesg)); ! privileged = 0; ! } } } *************** *** 323,331 **** { string mesg; ! lock(privileged = 1, ! mesg = this_player()->query_notify_fail(), ! privileged = 0); if (!mesg) mesg = "What?\n"; return mesg; --- 329,339 ---- { string mesg; ! rlimits (-1; -1) { ! privileged = 1; ! catch(mesg = this_player()->query_notify_fail()); ! privileged = 0; ! } if (!mesg) mesg = "What?\n"; return mesg; *************** *** 800,815 **** } other = to->query_user(); if (other != 0) { ! lock(privileged = 1, ! other->disconnect(), ! privileged = 0); } ARGCHECK(from && (user=from->query_user()), exec, 2); ! lock(privileged = 1, ! user->set_player(to), ! privileged = 0); if (this_player() == from) { set_this_player(to); --- 808,827 ---- } other = to->query_user(); if (other != 0) { ! rlimits (-1; -1) { ! privileged = 1; ! catch(other->disconnect()); ! privileged = 0; ! } } ARGCHECK(from && (user=from->query_user()), exec, 2); ! rlimits (-1; -1) { ! privileged = 1; ! catch(user->set_player(to)); ! privileged = 0; ! } if (this_player() == from) { set_this_player(to); diff -cNr lib/dgd/sys/driver.c lib.new/dgd/sys/driver.c *** lib/dgd/sys/driver.c Fri Mar 17 06:21:35 1995 --- lib.new/dgd/sys/driver.c Sat Sep 12 18:05:50 1998 *************** *** 28,38 **** send_message("Setting up ipc.\n"); } /****************************************************************************** ! * NAME: path_ed_read() * DESCRIPTION: handle an editor read path */ ! string path_ed_read(string path) { object player; --- 28,46 ---- send_message("Setting up ipc.\n"); } + /* + * NAME: restored() + * DESCRIPTION: Called after the system has restarted from a state dump. + */ + static + void + restored() { } + /****************************************************************************** ! * NAME: path_read() * DESCRIPTION: handle an editor read path */ ! string path_read(string path) { object player; *************** *** 47,56 **** } /****************************************************************************** ! * NAME: path_ed_write() * DESCRIPTION: handle an editor write path */ ! string path_ed_write(string path) { object player; --- 55,64 ---- } /****************************************************************************** ! * NAME: path_write() * DESCRIPTION: handle an editor write path */ ! string path_write(string path) { object player; *************** *** 65,85 **** } /****************************************************************************** ! * NAME: path_object() * DESCRIPTION: translate an object path */ ! string path_object(string path) { ! return path; } /****************************************************************************** ! * NAME: path_inherit() * DESCRIPTION: translate an inherit path */ ! string path_inherit(string file, string path) { ! return path; } /****************************************************************************** --- 73,96 ---- } /****************************************************************************** ! * NAME: call_object() * DESCRIPTION: translate an object path */ ! static ! object call_object(string path) { ! return (find_object(path) ? find_object(path) : compile_object(path)); } /****************************************************************************** ! * NAME: inherit_program() * DESCRIPTION: translate an inherit path */ ! static ! object inherit_program(string file, string program) { ! return (find_object(program) ? find_object(program) : ! compile_object(program)); } /****************************************************************************** *************** *** 96,109 **** return path; } ! /****************************************************************************** ! * NAME: compile_object() ! * DESCRIPTION: (not) used for virtual objects */ ! static object compile_object(string file) ! { ! return 0; ! } /****************************************************************************** * NAME: connect() --- 107,125 ---- return path; } ! /* ! * NAME: recompile() */ ! static ! void ! recompile(object obj) { } ! ! /* ! * NAME: interrupt() ! */ ! static ! void ! interrupt() { shutdown(); } /****************************************************************************** * NAME: connect() *************** *** 120,129 **** } /****************************************************************************** ! * NAME: log_error() * DESCRIPTION: log a runtime error */ ! static void log_error(string error, int caught) { mixed **trace; string progname, objname, function, str, dm, pl, af, file; --- 136,145 ---- } /****************************************************************************** ! * NAME: runtime_error() * DESCRIPTION: log a runtime error */ ! static void runtime_error(string error, int caught, int ticks) { mixed **trace; string progname, objname, function, str, dm, pl, af, file; *************** *** 226,235 **** } /****************************************************************************** ! * NAME: compile_log() ! * DESCRIPTION: return the name of a compile time error log */ ! string compile_log(string file) { string *path, fl, dm, pl, af; --- 242,251 ---- } /****************************************************************************** ! * NAME: compile_error() ! * DESCRIPTION: Handle a compile-time error. */ ! string compile_error(string file, int line, string err) { string *path, fl, dm, pl, af; *************** *** 244,256 **** fl = "/d/" + dm + "/log/errors"; else fl = "/log/errors"; ! return fl; } ! void restored() ! { ! } ! static void recompile(object obj) ! { ! } --- 260,285 ---- fl = "/d/" + dm + "/log/errors"; else fl = "/log/errors"; ! write_file(fl, file + ":" + line + " " + err + "\n"); } ! /* ! * NAME: compile_rlimits() ! */ ! static ! int ! compile_rlimits(string objname) { return (1); } ! /* ! * NAME: runtime_rlimits() ! */ ! static ! int ! runtime_rlimits(object obj, int stack, int ticks) { return (-1); } ! ! /* ! * NAME: remove_program() ! */ ! static ! void ! remove_program(string objname, int timestamp, int index) { } diff -cNr lib/lpmud lib.new/lpmud *** lib/lpmud Mon Dec 12 05:59:10 1994 --- lib.new/lpmud Sun Sep 13 12:18:41 1998 *************** *** 1,10 **** telnet_port = 3000; /* TCP/IP port number */ binary_port = 4242; ! directory = "/homes/mud/mud/lib/develop"; /* base directory (MUST be absolute) */ users = 55; /* max # of users */ editors = 41; /* max # of editor sessions */ ed_tmpfile = "../dgd_ed"; /* proto editor tmpfile */ ! swap_file = "../dgd_swap"; /* swap file */ dump_file = "../dgd_dump"; swap_size = 65534; /* # sectors in swap file */ cache_size = 1024; /* # sectors in swap cache */ --- 1,10 ---- telnet_port = 3000; /* TCP/IP port number */ binary_port = 4242; ! directory = "/home/mudman/libs/pblib/lib.new"; /* base directory (MUST be absolute) */ users = 55; /* max # of users */ editors = 41; /* max # of editor sessions */ ed_tmpfile = "../dgd_ed"; /* proto editor tmpfile */ ! swap_file = "../dgd_swap"; /* swap file */ dump_file = "../dgd_dump"; swap_size = 65534; /* # sectors in swap file */ cache_size = 1024; /* # sectors in swap cache */ *************** *** 20,30 **** driver_object = "/dgd/sys/driver"; /* driver object */ create = "_F_create"; /* name of create function */ - value_stack = 1000; /* value stack */ - call_stack = 60; /* function call stack */ - reserved_cstack = 10; /* reserved function call stack */ - reserved_vstack = 50; - max_cost = 400000; /* max execution cost */ array_size = 2000; /* max array size */ objects = 20000; /* max # of objects */ call_outs = 5000; /* max # of call_outs */ --- 20,25 ----