Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18964
Modified Files: Tag: desiredata kernel.c Log Message: fix bugs in pd_free
Index: kernel.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/kernel.c,v retrieving revision 1.1.2.76 retrieving revision 1.1.2.77 diff -C2 -d -r1.1.2.76 -r1.1.2.77 *** kernel.c 31 Jul 2007 01:20:29 -0000 1.1.2.76 --- kernel.c 2 Aug 2007 21:12:54 -0000 1.1.2.77 *************** *** 148,155 ****
/* convert an atom into a string, in the reverse sense of binbuf_text (q.v.) ! * special attention is paid to symbols containing the special characters ! * ';', ',', '$', and ''; these are quoted with a preceding '', except that ! * the '$' only gets quoted at the beginning of the string. ! */
//static int should_quote(char *s) {return strchr(";,\{}"",*s) || isspace(*s) || (*s=='$' && isdigit(s[1]));} --- 148,154 ----
/* convert an atom into a string, in the reverse sense of binbuf_text (q.v.) ! special attention is paid to symbols containing the special characters ! ';', ',', '$', and ''; these are quoted with a preceding '', except that ! the '$' only gets quoted at the beginning of the string. */
//static int should_quote(char *s) {return strchr(";,\{}"",*s) || isspace(*s) || (*s=='$' && isdigit(s[1]));} *************** *** 236,242 **** } /* schedule for deletion if need to keep the allocation around */ ! if (c->gobj && ((long)object_table->get(x)|2)) { ! gobj_changed((t_gobj *)x,""); object_table->set(x,object_table->get(x)&~1); } else pd_free_zombie(x); } --- 235,242 ---- } /* schedule for deletion if need to keep the allocation around */ ! if (c->gobj && (object_table->get(x)&2)) { object_table->set(x,object_table->get(x)&~1); + gobj_changed((t_gobj *)x,""); + //char *xx = (char *)x; for (int i=0; i<c->size; i++) xx[i]="\xde\xad\xbe\xef"[i&3]; } else pd_free_zombie(x); } *************** *** 381,386 **** as they count all threads together as if they're one, and they're especially incompatible with use of the desiredata-specific stack[] variable. */ - t_call pd_stack[STACKSIZE]; int pd_stackn = 0; /* how much of the stack is in use */
#define ENTER(SELECTOR) if(pd_stackn >= STACKSIZE) {stackerror(x); LEAVE; return;} \ --- 381,386 ---- as they count all threads together as if they're one, and they're especially incompatible with use of the desiredata-specific stack[] variable. */ int pd_stackn = 0; /* how much of the stack is in use */ + t_call pd_stack[STACKSIZE];
#define ENTER(SELECTOR) if(pd_stackn >= STACKSIZE) {stackerror(x); LEAVE; return;} \