6cc307a2b2
this software to do something, instead of just segfaulting. Obtained from: MASTER_SITE, but not in patch(1) form.
39 lines
2.0 KiB
Plaintext
39 lines
2.0 KiB
Plaintext
--- veneer.c.orig Sun May 23 13:23:38 1999
|
|
+++ veneer.c Sun May 23 13:24:16 1999
|
|
@@ -6,6 +6,12 @@
|
|
/* Part of Inform 6.21 */
|
|
/* copyright (c) Graham Nelson 1993, 1994, 1995, 1996, 1997, 1998, 1999 */
|
|
/* */
|
|
+/* Incorporates the patch by Andrew Plotkin/Torbörn Andersson which was */
|
|
+/* posted on r.a.i.f. on 5 May 1999 by Michael Baum. This fixes a memory */
|
|
+/* problem on some platforms and also fixes a bug which occurs when debug */
|
|
+/* mode is off. Note that you have to turn off strict mode, i.e. -~S, to */
|
|
+/* turn off the debug mode. */
|
|
+/* */
|
|
/* ------------------------------------------------------------------------- */
|
|
|
|
#include "header.h"
|
|
@@ -243,13 +249,18 @@
|
|
@check_arg_count 7 ?~A__x;y++;@check_arg_count 8 ?~A__x;y++;.A__x;",
|
|
"#ifdef INFIX;if (obj has infix__watching) n=1;#endif;\
|
|
#ifdef DEBUG;if (debug_flag & 1 ~= 0) n=1;#endif;\
|
|
- if (n==1) { n=debug_flag & 1; debug_flag=debug_flag-n;\
|
|
- print \"[ ~\", (name) obj, \"~.\", (property) id, \"(\";\
|
|
- switch(y) { 1: print a; 2: print a,\",\",b; 3: print a,\",\",b,\",\",c;\
|
|
+ if (n==1) {\
|
|
+ #ifdef DEBUG;n=debug_flag & 1;
|
|
+debug_flag=debug_flag-n;#endif;\
|
|
+ print \"[ ~\", (name) obj, \"~.\", (property) id, \"(\";\
|
|
+ switch(y) { 1: print a; 2: print a,\",\",b; 3: print
|
|
+a,\",\",b,\",\",c;\
|
|
4: print a,\",\",b,\",\",c,\",\",d;\
|
|
5: print a,\",\",b,\",\",c,\",\",d,\",\",e;\
|
|
6: print a,\",\",b,\",\",c,\",\",d,\",\",e,\",\",f; }\
|
|
- print \") ]^\"; debug_flag = debug_flag + n; }"
|
|
+ print \") ]^\";\
|
|
+ #ifdef DEBUG;debug_flag = debug_flag + n;#endif;\
|
|
+ }",
|
|
"if (id > 0 && id < 64)\
|
|
{ x = obj.&id; if (x==0) { x=$000a-->0 + 2*(id-1); n=2; }\
|
|
else n = obj.#id; }\
|