From: <so...@us...> - 2004-03-12 14:10:19
|
Update of /cvsroot/agd/server/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19680 Modified Files: dfuns.c Log Message: df_clone_object() could have changed fp, added checks for that. Index: dfuns.c =================================================================== RCS file: /cvsroot/agd/server/src/dfuns.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** dfuns.c 12 Mar 2004 08:40:10 -0000 1.9 --- dfuns.c 12 Mar 2004 13:50:43 -0000 1.10 *************** *** 148,152 **** void df_clone_object(void) { object_t *ret; ! ret = clone_object(fp->u.s); pop_stack(); push_object(ret); --- 148,162 ---- void df_clone_object(void) { object_t *ret; ! variable_t *saved_fp; ! ! show_stack(); ! saved_fp = fp; ! fp++; ! ret = clone_object(saved_fp->u.s); ! /* clone_object() might, or might not call create() and therefore decrease fp. ! * We have to decrement manually if needed. */ ! if(fp > saved_fp) ! fp--; ! pop_stack(); push_object(ret); |