ldmud-3.2.9/doc/
ldmud-3.2.9/doc/efun/
ldmud-3.2.9/mud/
ldmud-3.2.9/mud/heaven7/
ldmud-3.2.9/mud/heaven7/lib/
ldmud-3.2.9/mud/lp-245/
ldmud-3.2.9/mud/lp-245/banish/
ldmud-3.2.9/mud/lp-245/doc/
ldmud-3.2.9/mud/lp-245/doc/examples/
ldmud-3.2.9/mud/lp-245/doc/sefun/
ldmud-3.2.9/mud/lp-245/log/
ldmud-3.2.9/mud/lp-245/obj/Go/
ldmud-3.2.9/mud/lp-245/players/lars/
ldmud-3.2.9/mud/lp-245/room/death/
ldmud-3.2.9/mud/lp-245/room/maze1/
ldmud-3.2.9/mud/lp-245/room/sub/
ldmud-3.2.9/mud/lp-245/secure/
ldmud-3.2.9/mud/morgengrauen/
ldmud-3.2.9/mud/morgengrauen/lib/
ldmud-3.2.9/mud/sticklib/
ldmud-3.2.9/mud/sticklib/src/
ldmud-3.2.9/mudlib/uni-crasher/
ldmud-3.2.9/pkg/
ldmud-3.2.9/pkg/debugger/
ldmud-3.2.9/pkg/diff/
ldmud-3.2.9/pkg/misc/
ldmud-3.2.9/src/autoconf/
ldmud-3.2.9/src/bugs/
ldmud-3.2.9/src/bugs/MudCompress/
ldmud-3.2.9/src/bugs/b-020916-files/
ldmud-3.2.9/src/bugs/doomdark/
ldmud-3.2.9/src/bugs/ferrycode/ferry/
ldmud-3.2.9/src/bugs/ferrycode/obj/
ldmud-3.2.9/src/bugs/psql/
ldmud-3.2.9/src/done/
ldmud-3.2.9/src/done/order_alist/
ldmud-3.2.9/src/done/order_alist/obj/
ldmud-3.2.9/src/done/order_alist/room/
ldmud-3.2.9/src/gcc/
ldmud-3.2.9/src/gcc/2.7.0/
ldmud-3.2.9/src/gcc/2.7.1/
ldmud-3.2.9/src/hosts/
ldmud-3.2.9/src/hosts/GnuWin32/
ldmud-3.2.9/src/hosts/amiga/NetIncl/
ldmud-3.2.9/src/hosts/amiga/NetIncl/netinet/
ldmud-3.2.9/src/hosts/amiga/NetIncl/sys/
ldmud-3.2.9/src/hosts/i386/
ldmud-3.2.9/src/hosts/msdos/byacc/
ldmud-3.2.9/src/hosts/msdos/doc/
ldmud-3.2.9/src/hosts/os2/
ldmud-3.2.9/src/hosts/win32/
ldmud-3.2.9/src/util/
ldmud-3.2.9/src/util/erq/
ldmud-3.2.9/src/util/indent/hosts/next/
ldmud-3.2.9/src/util/xerq/
ldmud-3.2.9/src/util/xerq/lpc/
ldmud-3.2.9/src/util/xerq/lpc/www/
Only in .: #README.3.2#
Only in .: Makefile
diff /usr/src/1/driver-3.2.1@130/STACKMACHINE ./STACKMACHINE
13a14,16
> Anm. von Sunblade :
> In dieser Skizze  ist "unten" eine Hoehere addresse !
>
16c19
< Frame pointer->	|	Argument number 0
---
> Frame pointer->	| fp[0]	Argument number 0
24,25c27,28
< 		|	etc
< 		v
---
> sp[-1]		|	etc
> sp[0]		v
Only in .: access_check.o
Only in .: array.o
Common subdirectories: /usr/src/1/driver-3.2.1@130/autoconf and ./autoconf
Only in .: backend.o
Only in .: call_out.o
Only in .: closure.o
diff /usr/src/1/driver-3.2.1@130/comm.h ./comm.h
116a117,118
>     int debug_level;
>     char *debug_prefix;
diff /usr/src/1/driver-3.2.1@130/comm1.c ./comm1.c
1453a1454,1455
>         new_interactive->debug_prefix = 0;
>         new_interactive->debug_level = 0;
Only in .: comm1.c~
Only in .: comm1.o
diff /usr/src/1/driver-3.2.1@130/config.h ./config.h
12c12
< #define ERQ_DIR "/user/src/mud/erq"
---
> #define ERQ_DIR "/usr/local/mud/erq"
17c17
< #define ACCESS_CONTROL
---
> #undef ACCESS_CONTROL
24c24
< #define ACCESS_RESTRICTED
---
> #undef ACCESS_RESTRICTED
86c86
< #define EVALUATOR_STACK_SIZE	1000
---
> #define EVALUATOR_STACK_SIZE	4000
111c111
< #define PORTNO			7680
---
> #define PORTNO			3333
116c116
< #define MAX_LOCAL	20	
---
> #define MAX_LOCAL	60	
122c122
< #define MAX_COST	100000
---
> #define MAX_COST	1000000
211,213c211,213
< #define COMPAT_MODE
< #undef NATIVE_MODE
< #undef EUIDS
---
> #undef COMPAT_MODE
> #define NATIVE_MODE
> #define EUIDS
229c229
< #define SUPPLY_PARSE_COMMAND
---
> #undef SUPPLY_PARSE_COMMAND
237c237
< #undef INITIALIZATION_BY___INIT
---
> #define INITIALIZATION_BY___INIT
Only in .: config.status
Only in .: core
Only in .: debfile.c
Only in .: debsup.c
Only in .: difflang
Common subdirectories: /usr/src/1/driver-3.2.1@130/doc and ./doc
Only in .: driver
Only in .: dumpstat.o
Only in .: ed.o
Only in .: efun_defs.c
diff /usr/src/1/driver-3.2.1@130/exec.h ./exec.h
75a76,78
>        // *** Anm. von mir eingefuegt, da sonst die Variablennamen verlorengehen.
>
>
85a89,100
>
>     struct variable *variable_names;
>
> // *** Hier stehen die Namen der einzelnenn lokalen Variablen
> // *** und Parameter drinne.  ACHTUNG !!!!
> // *** dies Tun sie aber auch NUR in der Struktur des Programmes,
> // *** in der die Funktion definiert wird. (!!!)
> // *** d.h. sucht man die lokalen Variablen eines inhertidenen Files,
> // *** muss man auch die Struktur verwenden, die das Programm
> // *** des inheriteden Files benutzt. Nicht die Struktur des Programmes,
> // *** das aus der inheritnace resultiert.
> //    struct variable *parameter_names;
117a133,146
>
>    struct function *funktionsdaten; // *** Von Sunblade eingefuegt.
> // *** In dieser Struktur stehen alle Funktionen des aktuellen Programmes.
> // *** ACHTUNG !
> // *** Zwar enthalten diese Funktionen auch verweise auf die lokalen Parameter,
> // *** allerdings koennen diese nur verwendet werden, wenn man auch
> // *** DIE betrachtet, die in dem jeweiligen Programm defniert werden.
> // *** d.h. Informationen ueber lokale Variablen, die inherited werden.
> // *** sind in dieser Struktur nicht zu finden !
>
>    // *** Ich hab keinen Bock weiter zu schaun, ob die Funktionsdaten
>    // *** noch sonstwo gesichert werden !
>    // *** (bzw. nach betrachten des Codes bezweifele ich das)
>
Only in .: exec.h~
Only in .: foo
Only in .: foo.txt
diff /usr/src/1/driver-3.2.1@130/func_spec ./func_spec
431a432
> int debugfile(string, int);
433d433
< object debugfile(string);
Only in /usr/src/1/driver-3.2.1@130/: func_spec~
Common subdirectories: /usr/src/1/driver-3.2.1@130/gcc and ./gcc
Only in .: gcollect.o
Only in .: hash.o
Common subdirectories: /usr/src/1/driver-3.2.1@130/hosts and ./hosts
diff /usr/src/1/driver-3.2.1@130/instrs.h ./instrs.h
6,7c6,7
< extern struct instr instrs[519];
< extern short efun_aliases[3];
---
> extern struct instr instrs[518];
> extern short efun_aliases[2];
9,25c9,24
< #define F_ADD_ACTION (F_OFFSET+102)
< #define F_ALL_INVENTORY (F_OFFSET+103)
< #define F_ALLOCATE (F_OFFSET+104)
< #define F_APPLY (F_OFFSET+105)
< #define F_ASSOC (F_OFFSET+106)
< #define F_BIND_LAMBDA (F_OFFSET+107)
< #define F_BREAK_POINT (F_OFFSET+108)
< #define F_CALL_OTHER (F_OFFSET+109)
< #define F_CALL_OUT (F_OFFSET+110)
< #define F_CALL_OUT_INFO (F_OFFSET+111)
< #define F_CAPITALIZE (F_OFFSET+112)
< #define F_CAT (F_OFFSET+113)
< #define F_CLEAR_BIT (F_OFFSET+114)
< #define F_CLONE_OBJECT (F_OFFSET+115)
< #define F_CLOSUREP (F_OFFSET+116)
< #define F_COMMAND (F_OFFSET+117)
< #define F_CREATOR (F_OFFSET+118)
---
> #define F_ADD_ACTION (F_OFFSET+103)
> #define F_ALL_INVENTORY (F_OFFSET+104)
> #define F_ALLOCATE (F_OFFSET+105)
> #define F_APPLY (F_OFFSET+106)
> #define F_ASSOC (F_OFFSET+107)
> #define F_BIND_LAMBDA (F_OFFSET+108)
> #define F_BREAK_POINT (F_OFFSET+109)
> #define F_CALL_OTHER (F_OFFSET+110)
> #define F_CALL_OUT (F_OFFSET+111)
> #define F_CALL_OUT_INFO (F_OFFSET+112)
> #define F_CAPITALIZE (F_OFFSET+113)
> #define F_CAT (F_OFFSET+114)
> #define F_CLEAR_BIT (F_OFFSET+115)
> #define F_CLONE_OBJECT (F_OFFSET+116)
> #define F_CLOSUREP (F_OFFSET+117)
> #define F_COMMAND (F_OFFSET+118)
49,117c48,116
< #define F_IMPLODE (F_OFFSET+142)
< #define F_INPUT_TO (F_OFFSET+143)
< #define F_INSERT_ALIST (F_OFFSET+144)
< #define F_INTERACTIVE (F_OFFSET+145)
< #define F_INTERSECT_ALIST (F_OFFSET+146)
< #define F_INTP (F_OFFSET+147)
< #define F_LAMBDA (F_OFFSET+148)
< #define F_LIVING (F_OFFSET+149)
< #define F_LOWER_CASE (F_OFFSET+150)
< #define F_M_DELETE (F_OFFSET+151)
< #define F_M_INDICES (F_OFFSET+152)
< #define F_M_VALUES (F_OFFSET+153)
< #define F_MAP_ARRAY (F_OFFSET+154)
< #define F_MAP_MAPPING (F_OFFSET+155)
< #define F_MAPPINGP (F_OFFSET+156)
< #define F_MEMBER (F_OFFSET+157)
< #define F_MEMBER_ARRAY (F_OFFSET+158)
< #define F_MKDIR (F_OFFSET+159)
< #define F_MKMAPPING (F_OFFSET+160)
< #define F_MOVE_OBJECT (F_OFFSET+161)
< #define F_NEGATE (F_OFFSET+162)
< #define F_NEXT_INVENTORY (F_OFFSET+163)
< #define F_NOTIFY_FAIL (F_OFFSET+164)
< #define F_OBJECTP (F_OFFSET+165)
< #define F_ORDER_ALIST (F_OFFSET+166)
< #define F_POINTERP (F_OFFSET+167)
< #define F_PRESENT (F_OFFSET+168)
< #define F_PRINTF (F_OFFSET+169)
< #define F_PROCESS_STRING (F_OFFSET+170)
< #define F_QUERY_ACTIONS (F_OFFSET+171)
< #define F_QUERY_LOAD_AVERAGE (F_OFFSET+172)
< #define F_QUERY_VERB (F_OFFSET+173)
< #define F_QUOTE (F_OFFSET+174)
< #define F_RANDOM (F_OFFSET+175)
< #define F_READ_BYTES (F_OFFSET+176)
< #define F_READ_FILE (F_OFFSET+177)
< #define F_REGEXP (F_OFFSET+178)
< #define F_REMOVE_CALL_OUT (F_OFFSET+179)
< #define F_RENAME (F_OFFSET+180)
< #define F_REPLACE_PROGRAM (F_OFFSET+181)
< #define F_RESTORE_OBJECT (F_OFFSET+182)
< #define F_RM (F_OFFSET+183)
< #define F_RMDIR (F_OFFSET+184)
< #define F_RUSAGE (F_OFFSET+185)
< #define F_SAVE_OBJECT (F_OFFSET+186)
< #define F_SAY (F_OFFSET+187)
< #define F_SET_BIT (F_OFFSET+188)
< #define F_SET_HEART_BEAT (F_OFFSET+189)
< #define F_SET_LIGHT (F_OFFSET+190)
< #define F_SET_THIS_OBJECT (F_OFFSET+191)
< #define F_SETEUID (F_OFFSET+192)
< #define F_SIZEOF (F_OFFSET+193)
< #define F_SNOOP (F_OFFSET+194)
< #define F_SORT_ARRAY (F_OFFSET+195)
< #define F_SPRINTF (F_OFFSET+196)
< #define F_STRINGP (F_OFFSET+197)
< #define F_STRLEN (F_OFFSET+198)
< #define F_SYMBOL_FUNCTION (F_OFFSET+199)
< #define F_SYMBOLP (F_OFFSET+200)
< #define F_TAIL (F_OFFSET+201)
< #define F_TELL_OBJECT (F_OFFSET+202)
< #define F_TELL_ROOM (F_OFFSET+203)
< #define F_TEST_BIT (F_OFFSET+204)
< #define F_THIS_INTERACTIVE (F_OFFSET+205)
< #define F_THIS_OBJECT (F_OFFSET+206)
< #define F_THIS_PLAYER (F_OFFSET+207)
< #define F_THROW (F_OFFSET+208)
< #define F_TIME (F_OFFSET+209)
< #define F_TRANSFER (F_OFFSET+210)
---
> #define F_GETUID (F_OFFSET+142)
> #define F_IMPLODE (F_OFFSET+143)
> #define F_INPUT_TO (F_OFFSET+144)
> #define F_INSERT_ALIST (F_OFFSET+145)
> #define F_INTERACTIVE (F_OFFSET+146)
> #define F_INTERSECT_ALIST (F_OFFSET+147)
> #define F_INTP (F_OFFSET+148)
> #define F_LAMBDA (F_OFFSET+149)
> #define F_LIVING (F_OFFSET+150)
> #define F_LOWER_CASE (F_OFFSET+151)
> #define F_M_DELETE (F_OFFSET+152)
> #define F_M_INDICES (F_OFFSET+153)
> #define F_M_VALUES (F_OFFSET+154)
> #define F_MAP_ARRAY (F_OFFSET+155)
> #define F_MAP_MAPPING (F_OFFSET+156)
> #define F_MAPPINGP (F_OFFSET+157)
> #define F_MEMBER (F_OFFSET+158)
> #define F_MEMBER_ARRAY (F_OFFSET+159)
> #define F_MKDIR (F_OFFSET+160)
> #define F_MKMAPPING (F_OFFSET+161)
> #define F_MOVE_OBJECT (F_OFFSET+162)
> #define F_NEGATE (F_OFFSET+163)
> #define F_NEXT_INVENTORY (F_OFFSET+164)
> #define F_NOTIFY_FAIL (F_OFFSET+165)
> #define F_OBJECTP (F_OFFSET+166)
> #define F_ORDER_ALIST (F_OFFSET+167)
> #define F_POINTERP (F_OFFSET+168)
> #define F_PRESENT (F_OFFSET+169)
> #define F_PRINTF (F_OFFSET+170)
> #define F_PROCESS_STRING (F_OFFSET+171)
> #define F_QUERY_ACTIONS (F_OFFSET+172)
> #define F_QUERY_LOAD_AVERAGE (F_OFFSET+173)
> #define F_QUERY_VERB (F_OFFSET+174)
> #define F_QUOTE (F_OFFSET+175)
> #define F_RANDOM (F_OFFSET+176)
> #define F_READ_BYTES (F_OFFSET+177)
> #define F_READ_FILE (F_OFFSET+178)
> #define F_REGEXP (F_OFFSET+179)
> #define F_REMOVE_CALL_OUT (F_OFFSET+180)
> #define F_RENAME (F_OFFSET+181)
> #define F_REPLACE_PROGRAM (F_OFFSET+182)
> #define F_RESTORE_OBJECT (F_OFFSET+183)
> #define F_RM (F_OFFSET+184)
> #define F_RMDIR (F_OFFSET+185)
> #define F_RUSAGE (F_OFFSET+186)
> #define F_SAVE_OBJECT (F_OFFSET+187)
> #define F_SAY (F_OFFSET+188)
> #define F_SET_BIT (F_OFFSET+189)
> #define F_SET_HEART_BEAT (F_OFFSET+190)
> #define F_SET_LIGHT (F_OFFSET+191)
> #define F_SET_THIS_OBJECT (F_OFFSET+192)
> #define F_SETEUID (F_OFFSET+193)
> #define F_SIZEOF (F_OFFSET+194)
> #define F_SNOOP (F_OFFSET+195)
> #define F_SORT_ARRAY (F_OFFSET+196)
> #define F_SPRINTF (F_OFFSET+197)
> #define F_STRINGP (F_OFFSET+198)
> #define F_STRLEN (F_OFFSET+199)
> #define F_SYMBOL_FUNCTION (F_OFFSET+200)
> #define F_SYMBOLP (F_OFFSET+201)
> #define F_TAIL (F_OFFSET+202)
> #define F_TELL_OBJECT (F_OFFSET+203)
> #define F_TELL_ROOM (F_OFFSET+204)
> #define F_TEST_BIT (F_OFFSET+205)
> #define F_THIS_INTERACTIVE (F_OFFSET+206)
> #define F_THIS_OBJECT (F_OFFSET+207)
> #define F_THIS_PLAYER (F_OFFSET+208)
> #define F_THROW (F_OFFSET+209)
> #define F_TIME (F_OFFSET+210)
123,143c122,142
< #define F_PROTECTED_RR_RANGE_LVALUE (F_OFFSET+256)
< #define F_PROTECTED_EXTRACT_LVALUE (F_OFFSET+257)
< #define F_UNDEF (F_OFFSET+258)
< #define F_END_CATCH (F_OFFSET+259)
< #define F_BREAK_CONTINUE (F_OFFSET+260)
< #define F_BREAKN_CONTINUE (F_OFFSET+261)
< #define F_NR_RANGE (F_OFFSET+262)
< #define F_RN_RANGE (F_OFFSET+263)
< #define F_RR_RANGE (F_OFFSET+264)
< #define F_EXTRACT1 (F_OFFSET+265)
< #define F_PUSH_PROTECTED_INDEXED_LVALUE (F_OFFSET+266)
< #define F_PUSH_PROTECTED_RINDEXED_LVALUE (F_OFFSET+267)
< #define F_PUSH_PROTECTED_INDEXED_MAP_LVALUE (F_OFFSET+268)
< #define F_NR_RANGE_LVALUE (F_OFFSET+269)
< #define F_RN_RANGE_LVALUE (F_OFFSET+270)
< #define F_RR_RANGE_LVALUE (F_OFFSET+271)
< #define F_PROTECTED_INDEX_LVALUE (F_OFFSET+272)
< #define F_PROTECTED_RINDEX_LVALUE (F_OFFSET+273)
< #define F_PROTECTED_RANGE_LVALUE (F_OFFSET+274)
< #define F_PROTECTED_NR_RANGE_LVALUE (F_OFFSET+275)
< #define F_PROTECTED_RN_RANGE_LVALUE (F_OFFSET+276)
---
> #define F_PROTECTED_EXTRACT_LVALUE (F_OFFSET+256)
> #define F_UNDEF (F_OFFSET+257)
> #define F_END_CATCH (F_OFFSET+258)
> #define F_BREAK_CONTINUE (F_OFFSET+259)
> #define F_BREAKN_CONTINUE (F_OFFSET+260)
> #define F_NR_RANGE (F_OFFSET+261)
> #define F_RN_RANGE (F_OFFSET+262)
> #define F_RR_RANGE (F_OFFSET+263)
> #define F_EXTRACT1 (F_OFFSET+264)
> #define F_PUSH_PROTECTED_INDEXED_LVALUE (F_OFFSET+265)
> #define F_PUSH_PROTECTED_RINDEXED_LVALUE (F_OFFSET+266)
> #define F_PUSH_PROTECTED_INDEXED_MAP_LVALUE (F_OFFSET+267)
> #define F_NR_RANGE_LVALUE (F_OFFSET+268)
> #define F_RN_RANGE_LVALUE (F_OFFSET+269)
> #define F_RR_RANGE_LVALUE (F_OFFSET+270)
> #define F_PROTECTED_INDEX_LVALUE (F_OFFSET+271)
> #define F_PROTECTED_RINDEX_LVALUE (F_OFFSET+272)
> #define F_PROTECTED_RANGE_LVALUE (F_OFFSET+273)
> #define F_PROTECTED_NR_RANGE_LVALUE (F_OFFSET+274)
> #define F_PROTECTED_RN_RANGE_LVALUE (F_OFFSET+275)
> #define F_PROTECTED_RR_RANGE_LVALUE (F_OFFSET+276)
187,223c186,224
< #define F_EFUN308 (F_OFFSET+390)
< #define F_EXPAND_DEFINE (F_OFFSET+391)
< #define F_FUNCTIONLIST (F_OFFSET+392)
< #define F_GET_ERROR_FILE (F_OFFSET+393)
< #define F_GET_EXTRA_WIZINFO (F_OFFSET+394)
< #define F_HEART_BEAT_INFO (F_OFFSET+395)
< #define F_INHERIT_LIST (F_OFFSET+396)
< #define F_LAST_INSTRUCTIONS (F_OFFSET+397)
< #define F_QUERY_EDITING (F_OFFSET+398)
< #define F_QUERY_IDLE (F_OFFSET+399)
< #define F_QUERY_SHADOWING (F_OFFSET+400)
< #define F_QUERY_SNOOP (F_OFFSET+401)
< #define F_REGEXPLODE (F_OFFSET+402)
< #define F_REMOVE_ACTION (F_OFFSET+403)
< #define F_REMOVE_INTERACTIVE (F_OFFSET+404)
< #define F_RENAME_OBJECT (F_OFFSET+405)
< #define F_SEND_ERQ (F_OFFSET+406)
< #define F_SEND_IMP (F_OFFSET+407)
< #define F_SET_AUTO_INCLUDE_STRING (F_OFFSET+408)
< #define F_SET_BUFFER_SIZE (F_OFFSET+409)
< #define F_SET_CONNECTION_CHARSET (F_OFFSET+410)
< #define F_SET_DRIVER_HOOK (F_OFFSET+411)
< #define F_SET_EXTRA_WIZINFO (F_OFFSET+412)
< #define F_SET_IS_WIZARD (F_OFFSET+413)
< #define F_SET_MODIFY_COMMAND (F_OFFSET+414)
< #define F_SET_PROMPT (F_OFFSET+415)
< #define F_SET_THIS_PLAYER (F_OFFSET+416)
< #define F_SHADOW (F_OFFSET+417)
< #define F_SHUTDOWN (F_OFFSET+418)
< #define F_SYMBOL_VARIABLE (F_OFFSET+419)
< #define F_TO_OBJECT (F_OFFSET+420)
< #define F_TRACE (F_OFFSET+421)
< #define F_TRACEPREFIX (F_OFFSET+422)
< #define F_TRANSPOSE_ARRAY (F_OFFSET+423)
< #define F_UNBOUND_LAMBDA (F_OFFSET+424)
< #define F_UNSHADOW (F_OFFSET+425)
< #define F_WIZLIST_INFO (F_OFFSET+426)
---
> #define F_DEBUGFILE (F_OFFSET+390)
> #define F_EFUN308 (F_OFFSET+391)
> #define F_EXPAND_DEFINE (F_OFFSET+392)
> #define F_FUNCTIONLIST (F_OFFSET+393)
> #define F_GET_ERROR_FILE (F_OFFSET+394)
> #define F_GET_EXTRA_WIZINFO (F_OFFSET+395)
> #define F_HEART_BEAT_INFO (F_OFFSET+396)
> #define F_INHERIT_LIST (F_OFFSET+397)
> #define F_LAST_INSTRUCTIONS (F_OFFSET+398)
> #define F_QUERY_EDITING (F_OFFSET+399)
> #define F_QUERY_IDLE (F_OFFSET+400)
> #define F_QUERY_SHADOWING (F_OFFSET+401)
> #define F_QUERY_SNOOP (F_OFFSET+402)
> #define F_REGEXPLODE (F_OFFSET+403)
> #define F_REGREPLACE (F_OFFSET+404)
> #define F_REMOVE_ACTION (F_OFFSET+405)
> #define F_REMOVE_INTERACTIVE (F_OFFSET+406)
> #define F_RENAME_OBJECT (F_OFFSET+407)
> #define F_SEND_ERQ (F_OFFSET+408)
> #define F_SEND_IMP (F_OFFSET+409)
> #define F_SET_AUTO_INCLUDE_STRING (F_OFFSET+410)
> #define F_SET_BUFFER_SIZE (F_OFFSET+411)
> #define F_SET_CONNECTION_CHARSET (F_OFFSET+412)
> #define F_SET_DRIVER_HOOK (F_OFFSET+413)
> #define F_SET_EXTRA_WIZINFO (F_OFFSET+414)
> #define F_SET_IS_WIZARD (F_OFFSET+415)
> #define F_SET_MODIFY_COMMAND (F_OFFSET+416)
> #define F_SET_PROMPT (F_OFFSET+417)
> #define F_SET_THIS_PLAYER (F_OFFSET+418)
> #define F_SHADOW (F_OFFSET+419)
> #define F_SHUTDOWN (F_OFFSET+420)
> #define F_SYMBOL_VARIABLE (F_OFFSET+421)
> #define F_TO_OBJECT (F_OFFSET+422)
> #define F_TRACE (F_OFFSET+423)
> #define F_TRACEPREFIX (F_OFFSET+424)
> #define F_TRANSPOSE_ARRAY (F_OFFSET+425)
> #define F_UNBOUND_LAMBDA (F_OFFSET+426)
> #define F_UNSHADOW (F_OFFSET+427)
> #define F_WIZLIST_INFO (F_OFFSET+428)
Only in .: int.c
Only in .: int.c~
diff /usr/src/1/driver-3.2.1@130/interpret.c ./interpret.c
13a14,22
>
> /* by Sunblade start */
> #define NUMLINES 78
> // *** Anzahl an Spalten, auf die die Ausgabe des Debuggers optimiert wird.
>
> #define SHOWLINES 10
> // *** Anzahl an Zeilen, die von dem Original-Quellcode ausgegeben werden.
> /* by Sunblade end */
>
72a82,143
> // *** By sunblade
> // *** is dazu da damit der ganze Quark zum darstellen des LPC-Codes
> // *** nicht nochmal eingelesen werden muss,
> // *** wenn er im Speicher is !
> char *current_cache_file;
> char *current_cache_data;
> int current_cache_line;
> int current_cache_file_size;
>
> int last_displayed_line;
> char *last_displayed_file;
> struct displayed_functions *last_displayed_function;
> struct displayed_functions *first_displayed_function;
>
> /* fuers Debuggen */
> int running_program;
> // *** == 1, wenn das Programm alaeuft, bis der naechte Breakpoint
> // *** kommt. Ansonsten == 0.
>
>
>
> int flags_for_next_line;
> /* Die Flags, die die Bedinungen fuer die naechste
>  anzuzeigende Zeile setzen:
>  * 0 :
>  *   Alle SMCs anzeigen, die der akutellen Maske entsprechen
>  *
>  * FLAG_SHOW_IF_BREAKPOINT :
>  *   Zeile nur anzeigen, wenn auch ein Breakpoint gesetzt ist.
>  *
>  * FLAG_TRACE_INTO_NEXT_FUNCTION :
>  *   Gesetzt, wenn in die naechste Funktion reingetract werden soll, die
>  *   "normal" aufgerufen wird. Wird nach dem Aufrufen der Funktion
>  *   automatisch geloescht.
>  *
>  *
>  * Auswertung :
>  * Wenn ein Breakpoint gesetzt ist, auf jeden Fall anzeige.
>  * Wenn kein Breakpoint, aber im "Auf-Breakpoint-Warten"-Modus, dann raus.
>  *
>  * Ansonsten gilt :
>  */
> #define FLAG_SHOW_IF_BREAKPOINT 1
> #define FLAG_TRACE_INTO_NEXT_FUNCTION 2
> #define FLAG_SHOW_THIS_FUNCTION 4
>
>
> #define DEBUGGER_VERSION V0.1b-p0.01
> #define F_DEBUG_ON 1
> // *** Wird in der interactive-Strukt eingetragen,
> // *** wenn man debuggt.
>
> int num_breakpoints;
> struct breakpoint *first_breakpoint;
>
>
> struct breakpoint *breakpoint_exists( int curr_line, char *curr_file );
> int test_for_debug();
> void do_lpc_debug( char *my_pc, char *stackinst, char *parm2, char *parm3 );
> void do_lpc_debug_return ();
> /* by Sunblade ende */
>
101c172,174
< static void do_trace PROT((char *, char *, char *));
---
> static void do_trace PROT((char *, char *, char *, char *));
> static void do_line_trace PROT((char *, char *, char *));
>
2781a2855
>
2816c2890
< 	do_trace("Call direct ", name, " ");
---
> 	do_trace("Call direct ", name, " ",0);
2832a2907
> //   do_lpc_debug(0,name,"Call direct"," ");
2842c2917,2918
< 	    do_trace("Return", "", "");
---
> 	    do_trace("Return", "", "",0);
> //	    do_lpc_debug_return();
2853a2930
> //   do_lpc_debug_return();
2924a3002,3008
> //   if (test_for_debug() != 0)
> //     {
> //      char *funname;
> //      memcpy((char *)&funname, funstart - 1 - sizeof funname, sizeof funname);
> //      do_lpc_debug(0,funname,"Call Direct","");	
> //     }
>
3218c3302,3307
<     if (++eval_cost >= 0) {
---
> 	  if (test_for_debug() != 0)
> 	     {
> 	      do_lpc_debug(pc,get_f_name(instruction),"Exec ","\n");
> 	     }
>
>    if (++eval_cost >= 0) {
3223c3312
< 		    do_trace("Exec ", get_f_name(instruction), "\n");
---
> 		    do_trace("Exec ", get_f_name(instruction), "\n",pc);
3227a3317,3320
> /*	  if (test_for_debug() != 0)
> 	     {
> 	      do_lpc_debug(pc,get_f_name(instruction),"Exec ","\n");
> 	     } */
3665a3759,3760
> 	   if (test_for_debug() != 0)
> 	     { do_lpc_debug_return(); }
3671a3767,3768
>        if (test_for_debug() != 0)
> 	 { do_lpc_debug_return(); }
5621c5718
< 		do_trace("Call other ", arg[1].u.string, "\n");
---
> 		do_trace("Call other ", arg[1].u.string, "\n",0);
9449c9546
< 		    do_trace("Call other ", arg[1].u.string, "\n");
---
> 		    do_trace("Call other ", arg[1].u.string, "\n",0);
10050c10147
< 	    do_trace("Apply", "", "\n");
---
> 	    do_trace("Apply", "", "\n",0);
10197,10198c10294,10295
<     if (p > PROGRAM_END(*progp))
< 	fatal("Illegal offset %d in object %s\n", offset, progp->name);
---
> //    if (p > PROGRAM_END(*progp))
> //	fatal("Illegal offset %d in object %s\n", offset, progp->name);
11525a11623,11927
>
> /* Quick & Dirty zum Flags ausgeben ! */
> char *get_current_function()
>  {
>     /* liefert einen Zeiger auf den Namen der aktuellen Funktion zuureck */
> //  return (char *)(csp->funstart[-5]);
>  }
>
> char *read_lines_from_file( int middleline, char *name )
>  {
>     /* Megaquick & Megadirty ! */
>   int preread;
>   int lauf1;
>   int lauf2;
>   FILE *dateizeiger;
>   char tempbuff[10000];
>   char tempbuff2[1000];
> //  char *tempstring;
>
>   if (SHOWLINES == 0) { return 0; } // *** 0 -> Keine Anzeige.
>
>   // *** Wenn die Daten den bereits gespeicherten entsprechen,
>   // *** dann diese recyceln.
>   if ((current_cache_file != 0) && (strcmp(current_cache_file,name) == 0) &&
>      (middleline == current_cache_line))
>       {
> 	return current_cache_data;
>       }
>
>  // *** So, das Zeugs ist *nicht* im Cache.
>  if (current_cache_file != 0)
>        free(current_cache_file);
>  if (current_cache_data != 0)
>       free(current_cache_data);
>
>
>   dateizeiger = fopen(name, "r");
>   if (dateizeiger == NULL) { return 0;
>   }
>   /* Beschissen Programmiert ! */
>   /* DRINGENDDST optimieren !!! */
>
>    preread = middleline - (SHOWLINES / 2);
>
>    lauf2 = 0;
>
>     while (preread > 0)
>       {
>        lauf2++;
>        fgets(tempbuff,10000,dateizeiger);
>        preread--;
>       }
>
>
>    current_cache_line = middleline;
>    current_cache_data = malloc(10000);
> //   tempstring = malloc(10000);
>    current_cache_file = malloc(strlen(name)+1);
>    current_cache_data[0] = 0x00; // *** den String entleeren
>    strcpy(current_cache_file,name);
>    tempbuff[0] = 0x00;           // *** Den Puffer leeren
>
>
>    for (lauf1 = 0; lauf1 < SHOWLINES;lauf1++)
>       {
>        lauf2++;
>        if (fgets(tempbuff,10000,dateizeiger) != NULL)
> 	   {
>          if (lauf2 == middleline)
>   	 {
> 	  if (breakpoint_exists(lauf2,name) != 0)
> 	      { sprintf(tempbuff2,"%d:B>",lauf2); } else
>   	      { sprintf(tempbuff2,"%d: >",lauf2); }
> 	 } else
>         if (breakpoint_exists(lauf2,name) != 0)
> 	 { // *** Wir haben einen Breakpoint !
> 	  sprintf(tempbuff2,"%d:B ",lauf2);
> 	 } else
> 	 {
> 	  sprintf(tempbuff2,"%d:  ",lauf2);
> 	 }
> 	strcat(current_cache_data,tempbuff2);
> 	strcat(current_cache_data,tempbuff);
> //	strcat(tempstring,tempbuff2);
> // 	strcat(tempstring,tempbuff);
> 	   }
>       }
>
>    while (fgets(tempbuff,10000,dateizeiger) != NULL)
>       { lauf2++; }
>    current_cache_file_size = lauf2;
>   fclose(dateizeiger);
>    return current_cache_data;
>
>  }
>
>
> #include "debsup.c"
>
> void do_lpc_debug_return()
>  {
>   struct displayed_functions *tempzeiger;
>   /* Diese Funktion wird aufgerufen, wenn ein Ruecksprung aus einer
>    * Funktion in eine uebergeordnete geschieht. Ich muss in diesem
>    * Fall von meinem Funktionsstack den letzen Wert entfernen.
>    */
>   if (last_displayed_function == 0)
>    { debug_message("Schwerer Debugger-Fehler ! ICSP-Underflow !\n");
>      return; }
>
>  /* Wenn ich nicht von der richtigen Funktion zurueckkomme.... */
>  /* (hier werden *ALLE* funktionsreturns gesammelt) */
>   if (last_displayed_function->functioncsp != csp)
>    { return; }
>
>   if (last_displayed_function->prev == 0)
>    { /* Dies ist das einizige Element in der Kette. */
>     free(last_displayed_function->in_file);
>     free(last_displayed_function);
>     last_displayed_function = 0;
>     first_displayed_function = 0;
>    } else
>    { tempzeiger = last_displayed_function;
>     /* Das vorletzte Element darauf vorbereiten, das es das letzte ist */
>     last_displayed_function->prev->next = 0;
>     last_displayed_function = tempzeiger->prev;
>     free(tempzeiger->in_file);
>     free(tempzeiger);
>    }
>
>  }
>
> void do_lpc_debug( char *my_pc, char *stackinst, char *parm2, char *parm3 )
> {
>   struct breakpoint *temp_breakpoint;
>   int debug_ok;
>   char buf[10000];
>   char buf2[10000];
>   char *objname;
>   struct svalue *tempsvalue;
>   int lauf1;
>   int lauf2;
>    int lauf3;
>   char *temppointer;
>   char *temp_source_from_file;
>    char *my_inter_pc;
>   int temp;
>   int temp2;
>   int print_banner;
>   struct object *old_interactive;
>   struct function *tempfunktion;
>
>   debug_ok = 0;
>
>   /* to do : Bei Return diese FUnktion nit mehr aufrufen ! */
>   if (parm2 != 0) { if (strcmp(parm2,"Return") == 0) { return; } }
>
>   if (current_prog == 0) { return; }
>   /* Current_prog kann in seltenen Faellen == 0, werden
>    * allerdings nicht nur innerhalb von HBs. Auf jedenfall ist es dann
>    * uninetressant was passiert
>    */
>
>   temppointer = &(buf2);
>   temp2 = get_line_number(my_pc,current_prog, &temppointer);
>
>   /* Zu Coredump-Zeweckenn ;) */
>   sprintf(buf,"Datei : %s    Zeile : %d",current_prog->name,temp2);
>   debug_message(buf);
>
>   temp_breakpoint = breakpoint_exists(temp2,current_prog->name);
>
> /*
>  * Auswertung :
>  * Wenn ein Breakpoint gesetzt ist, auf jeden Fall anzeige.
>  * Wenn kein Breakpoint, aber im "Auf-Breakpoint-Warten"-Modus, dann raus.
>  */
>
>   if ((temp_breakpoint != 0))
>    { // *** Wenn ein Breakpoint in dieser Zeile existiert, und das
>      // *** Programm im running-Modus ist, eine Nachricht ausgeben, das
>      // *** ein Breakpoint erreicht wurde.
>     running_program = 0; // *** Fallback in den single-Step-Modus
>
>     add_message("\n\n--- Breakpoint erreicht !!! ---\n");
>     add_message("Breakpoint Nr. %d, Datei %s, Zeile %d.",
> 	       temp_breakpoint->number,temp_breakpoint->in_file,temp_breakpoint->line);
> 		
>    } else
>    {
>     if ((running_program == 1)) { return; }
>
>    /* So. Jetz kommt die Buchhaltung ueber den Funktionenstack.
>     * Es ist fuer mich einfacher, selber Buch darueber zu fuehren, als in
>     * dem Control-Stack nachzuschaun.
>     */
>     /* Aha. Das ist die erste Funktion die wir uns anschauen. Auf jeden
>      * Fall diese betrachten.
>      */
>
>     if (last_displayed_function == 0)
>      {
>       /* Es ist bis jetz die erste und letzte betrachtete Funktion auf unserem
>        * Stack
>        */
>       first_displayed_function = malloc(sizeof( struct displayed_functions ));
>       last_displayed_function = first_displayed_function;
>       first_displayed_function->functioncsp = csp;
>       first_displayed_function->in_file = malloc(strlen(temppointer)+1);
>       strcpy(first_displayed_function->in_file,temppointer);
>       first_displayed_function->next = 0;
>       first_displayed_function->prev = 0;
>       first_displayed_function->flags = FLAG_SHOW_THIS_FUNCTION;
> 	
>      }
>
>     if (last_displayed_function->functioncsp == csp )
>      {
>       if ((last_displayed_function->flags & FLAG_SHOW_THIS_FUNCTION) == 0)
> 	  { return; }
>      } else
>      {
>       /* Pruefen, ob in die Funktion reingetract werden soll */
>       if ((flags_for_next_line & FLAG_TRACE_INTO_NEXT_FUNCTION) != 0)
>        {
> 	/* Ja. Dann die Funktion an den interen Control Stack anhaengen. */
> 	last_displayed_function->next = malloc(sizeof(struct displayed_functions ));
> 	last_displayed_function->next->functioncsp = csp;
>         last_displayed_function->next->in_file = malloc(strlen(temppointer)+1);
>         strcpy(last_displayed_function->next->in_file,temppointer);
> 	last_displayed_function->next->prev = last_displayed_function;
> 	last_displayed_function = last_displayed_function->next;
> 	last_displayed_function->next = 0;
> 	last_displayed_function->flags = FLAG_SHOW_THIS_FUNCTION;
>        } else
>        {
>         return;
>        }
>      }
>
>    }
>
> /* Kontrollieren, ob ich in dieser Zeile schoneinmal einen SMC angezeigt habe. */
>  if ((temp2 == last_displayed_line) &&
>      ((last_displayed_file != 0) && (strcmp(temppointer,last_displayed_file) == 0)))
>    { return; } else
>    {
>     if (last_displayed_file != 0) { free(last_displayed_file); }
>     last_displayed_file = malloc(strlen(temppointer)+1);
>     strcpy(last_displayed_file,temppointer);
>     last_displayed_line = temp2;
>    }
>
>  /* Reintracen wird nicht aufgeschoben. Wenn das Ding keine
>   * Funktion war, wo mein reintracen Wollte, passiert nix.
>   */
>  flags_for_next_line = flags_for_next_line & !(FLAG_TRACE_INTO_NEXT_FUNCTION);
>  print_banner = 1;
>  while (!debug_ok)
>   {
>    /* Das Banner ausgeben. Hier kann ruhige getroedelt werden, es wird eh auf
>     * eine Benutzerinteraktion gewartet... So schnell sieht das niemand !
>     */
>    if (print_banner == 1)
>     {
>      sprintf(buf,"\n--< Sunblades LPC-Debugger V0.1b-p0.01 : /%s >---%n",current_object->name,&temp);
>      add_message(buf);
>      if (temp < NUMLINES) { for (lauf1 = 0; lauf1 < (NUMLINES - temp); lauf1++ ) add_message("-"); }
>      add_message("\n");
>
>
>      temp_source_from_file = read_lines_from_file(temp2,temppointer);
>      add_message(temp_source_from_file);
>
>  		
>      sprintf(buf,"--</%s:%s>-<%d/%d>%n",current_prog->name,
> 	  (char *) (*( (char **) (&csp->funstart[-5]) )),
> 	  temp2,current_cache_file_size,&temp);
>
>     add_message(buf);
>     if (temp < NUMLINES) { for (lauf1 = 0; lauf1 < (NUMLINES - temp); lauf1++ ) add_message("-"); }
>     add_message("\n");
>     add_message(MESSAGE_FLUSH);
>     print_banner = 0;
>    }
>
>   old_interactive = current_interactive;
> //  while (!debug_ok)
>  //    {
>   add_message("(h=hilfe) ? >");
>   add_message(MESSAGE_FLUSH);
>
>   while ((!get_message(buf,sizeof buf )) && (command_giver = old_interactive)) {}
>   /* Auf die Eingabe warten ! */
>
>   // *** in dem Maindebug steht alles wichtige !	
> #include "maindebug.c"
>       	
>   }
>
>   add_message(MESSAGE_FLUSH);
> }
>
>
>
11527,11528c11929,11931
< do_trace(msg, fname, post)
< char *msg, *fname, *post;
---
> do_trace(msg, fname, post, my_pc)
> char *msg, *fname, *post, *my_pc;
>
11531a11935,11951
>     struct object *old_interactive;
>
>     if (!TRACEHB)
> 	return;
>     objname = TRACETST(TRACE_OBJNAME) ? (current_object && current_object->name ? current_object->name : "??")  : "";
>    sprintf(buf, "*** %d %*s %s %s %s%s", tracedepth, tracedepth, "", msg, objname, fname, post);
>  // *** hohoho !
>    debug_message(buf);
>
>  //   add_message(buf);
>
>  //  add_message(MESSAGE_FLUSH);
> // do_lpc_debug(my_pc,fname,msg,post);
> #ifdef DEBUG
>     add_message(MESSAGE_FLUSH);
> #endif
> }
11532a11953,11962
>
> static void do_line_trace(msg, fname, post)
> char *msg, *fname, *post;
> {
>    // *** Dieses Trace wird verwendet, wenn die Zeilennummern korrekt
>    // *** abgebildet werden koennen.
>     char buf[10000];
>     char *objname;
>     struct object *old_interactive;
>
11537a11968,11970
>
>    add_message(MESSAGE_FLUSH);
>  do_lpc_debug(0,fname,msg,post);
11541,11542c11974,11975
< }
<
---
> }
>
11831a12265,12284
> /*
> int test_for_debug()
>    // *** Return 1 wenn man debuggen soll
>      {
> 	struct interactive *wizard;
> 	if (command_giver)
> 	  {
> 	     wizard = O_GET_INTERACTIVE(command_giver);
> 	     return (wizard->debug_level & F_DEBUG_ON);
> 	  } else
> 	  {
> 	     return 0;
> 	  }
> 	
>      }
>    */
> int test_for_debug()
> {
>    /* gut geklaut ist halb gewonnen ! */
>     struct interactive *ip;
11832a12286,12291
>     return command_giver && (ip = O_GET_INTERACTIVE(command_giver)) &&
>       ip->sent.type == SENT_INTERACTIVE && ip->debug_level & F_DEBUG_ON &&
>       (ip->debug_prefix == 0 ||
>        (current_object && strpref(ip->debug_prefix, current_object->name)));
> }
>
12173a12633,12635
>
> #include "debfile.c"
> 	
diff /usr/src/1/driver-3.2.1@130/interpret.h ./interpret.h
6a7,8
>
>
27a30,61
>
> // *** by Sunblade, start
> // Speichert die lokalen funktionen
>
> struct sunblades_funktionsretter {
>   char *name;
>   int args;
>   int locals;
>   struct function *vars_u_params;
>   struct sunblades_funktionsretter *next;
>
>  };
>
> struct breakpoint {
>    int number;
>    char *in_file;
>    int line;
>    uint32 flags; // *** evtl. benoetigte Flags
>
>    struct breakpoint *next;
> };
>
> struct displayed_functions {
>   struct control_stack *functioncsp;
>   int flags;
>   char *in_file;
>   struct displayed_functions *next;
>   struct displayed_functions *prev;
> };
>
> // *** by Sunblade, end
>
Only in .: interpret.o
Only in .: lang.c
Only in .: lang.c.old
Only in .: lang.h
Only in .: lang.o
Only in .: lang.y
Only in .: langold.c
Only in .: lex.o
Only in .: machine.h
Only in .: main.o
Only in .: maindebug.c
Only in .: maindiff.diff
Only in .: maindiff.diff~
Only in .: make_func
Only in .: make_func.c
Only in .: make_func.o
Only in .: mapping.o
Common subdirectories: /usr/src/1/driver-3.2.1@130/mudlib and ./mudlib
Only in .: object.o
Only in .: old
Only in .: old.10
Only in .: old.11
Only in .: old.12
Only in .: old.13
Only in .: old.14
Only in .: old.15
Only in .: old.16
Only in .: old.17
Only in .: old.18
Only in .: old.19
Only in .: old.2
Only in .: old.20
Only in .: old.21
Only in .: old.22
Only in .: old.23
Only in .: old.24
Only in .: old.25
Only in .: old.26
Only in .: old.27
Only in .: old.28
Only in .: old.29
Only in .: old.3
Only in .: old.30
Only in .: old.31
Only in .: old.32
Only in .: old.33
Only in .: old.34
Only in .: old.35
Only in .: old.36
Only in .: old.37
Only in .: old.38
Only in .: old.39
Only in .: old.4
Only in .: old.40
Only in .: old.41
Only in .: old.42
Only in .: old.5
Only in .: old.6
Only in .: old.7
Only in .: old.8
Only in .: old.9
Only in .: otable.o
Only in .: out.dic
Only in .: out.txt
Only in .: parse.o
Only in .: parse_old.o
Only in .: port.o
diff /usr/src/1/driver-3.2.1@130/prolang.y ./prolang.y
703a704,707
>
>     int lauf1; // ** by Sunblade
>  struct ident *tempzeiger; // *** by Sunbalde
>
772c776,812
< 	}
---
> 	
> }
>
>
>            // *** by Sunblade
>          if (funp->variable_names != 0)
>           { }
>
>
>        if ((num_local + num_arg) > 0)
>           {
>            funp->variable_names = malloc(sizeof(struct variable) * (num_local + num_arg));
>
>          // *** Wir haben eine verkette Liste
>          tempzeiger = all_locals;
>         lauf1 = 0;
>         while (tempzeiger != 0)
>          {
>   //      funp->variable_names[lauf1].flags = tempzeiger.flags;
>           funp->variable_names[lauf1].name =
>               malloc(strlen(tempzeiger->name)+1);
>           strcpy(funp->variable_names[lauf1].name,tempzeiger->name);
>             funp->variable_names[lauf1].flags = 0;
>   //      funp->variable_names[lauf1].name =
>   //           make_shared_string(tempzeiger->name);
>           if (tempzeiger->next_all == 0)
>               { // *** Das letzte ELement durch ein FF in den Flags kennzeichnenen
>                funp->variable_names[lauf1].flags = 0xff;
>               }
>            tempzeiger = tempzeiger->next_all;
>            lauf1++;
>          }
>       } else funp->variable_names = 0;
>
>   // *** by Sunblade ende
>
>
789a830,867
>
>      fun.variable_names = 0;
>
>      // *** die Namen der lokalen Variablen eintragen, da sie sonst
>      // *** verworfen werden.
>      // *** by Sunblade -> begin
>     if ((num_local + num_arg) > 0)
>      { // ***  Nur wenn wir auch wirklich was sichern wollen ;)
>   //        printf(
>  fun.variable_names = malloc(sizeof(struct variable) * (num_local + num_arg));
>          // *** Wir haben eine verkette Liste
>       tempzeiger = all_locals;
>
>       lauf1 = 0;
>       while (tempzeiger != 0)
>        {
>         // *** Den Speicher fuer den String reservieren
>         fun.variable_names[lauf1].name = malloc(strlen(tempzeiger->name)+1);
>         strcpy(fun.variable_names[lauf1].name,tempzeiger->name);
>        fun.variable_names[lauf1].flags = 0;
>     //    fun.variable_names[lauf1].name =
>   /*
>
>                make_shared_string(tempzeiger->name);*/
>   //          xalloc(strlen(tempzeiger->name)+1);
>   //      strcpy(fun.variable_names[lauf1].name,tempzeiger->name);
>
>          // *** Falls wir das letzte Element haben, dieses kennzeichnen...
>          if (tempzeiger->next_all == 0)
>          { fun.variable_names[lauf1].flags = 0xff; }
>
>            tempzeiger = tempzeiger->next_all;
>          lauf1++;
>         }
>       } else fun.variable_names = 0;
>
>
>
5731c5809,5813
< 	prog->strings = (char **)p;
---
>   prog->funktionsdaten = xalloc( sizeof (struct function ) * num_functions);
>  memcpy(prog->funktionsdaten,mem_block[A_FUNCTIONS].block, sizeof( struct function) * num_functions);
>
>
>         prog->strings = (char **)p;
Only in .: random.o
Only in .: raus
Only in .: rc5
Only in .: regexp.o
Only in .: simul_efun.o
Only in .: simulate.o
Only in .: smalloc.o
Only in .: sprintf.o
Only in .: stralloc.o
Only in .: swap.o
Only in .: term
Only in .: tips.txt
Only in .: turbo.dsk
Common subdirectories: /usr/src/1/driver-3.2.1@130/util and ./util
Only in .: wiz_list.o
Only in .: y.output
Only in /usr/src/1/driver-3.2.1@130/: y.tab.c