From: Ton v. O. <tvo...@us...> - 2006-09-28 13:24:30
|
Update of /cvsroot/easycalc/easycalc/mlib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv24513 Modified Files: cmatrix.c integ.c matrix.c Log Message: Replace call to stack_get_val2() with two calls to stack_get_val in order to make the clean-up in case of error easier to see in the code. Index: cmatrix.c =================================================================== RCS file: /cvsroot/easycalc/easycalc/mlib/cmatrix.c,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** cmatrix.c 27 Sep 2006 13:36:19 -0000 1.27 --- cmatrix.c 28 Sep 2006 13:24:20 -0000 1.28 *************** *** 928,940 **** { CError err; ! CMatrix *a = NULL; ! CMatrix *b = NULL; ! CMatrix *m,*q; Int16 i,j; ! err = stack_get_val2(stack,&a,&b,cmatrix); if (err) { ! if (a) cmatrix_delete(a); ! if (b) cmatrix_delete(b); return err; } --- 928,940 ---- { CError err; ! CMatrix *a,*b,*m,*q; Int16 i,j; ! err = stack_get_val(stack,&b,cmatrix); ! if (err) ! return err; ! err = stack_get_val(stack,&a,cmatrix); if (err) { ! cmatrix_delete(b); return err; } *************** *** 991,995 **** err = stack_add_val(stack,&m,cmatrix); cmatrix_delete(m); ! return err; } --- 991,995 ---- err = stack_add_val(stack,&m,cmatrix); cmatrix_delete(m); ! return err; } Index: integ.c =================================================================== RCS file: /cvsroot/easycalc/easycalc/mlib/integ.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** integ.c 27 Sep 2006 13:36:19 -0000 1.22 --- integ.c 28 Sep 2006 13:24:20 -0000 1.23 *************** *** 979,984 **** double error = DEFAULT_ERROR; double result; ! CodeStack *f1 = NULL; ! CodeStack *f2 = NULL; CError err; CodeStack *argarr = NULL; --- 979,983 ---- double error = DEFAULT_ERROR; double result; ! CodeStack *f1,*f2; CError err; CodeStack *argarr = NULL; *************** *** 998,1004 **** return c_badargcount; ! if ((err=stack_get_val2(stack,&f1,&f2,function))) { ! if (f1) stack_delete(f1); ! if (f2) stack_delete(f2); goto error; } --- 997,1006 ---- return c_badargcount; ! err=stack_get_val(stack,&f2,function); ! if (err) ! goto error; ! err=stack_get_val(stack,&f1,function); ! if (err) { ! stack_delete(f2); goto error; } Index: matrix.c =================================================================== RCS file: /cvsroot/easycalc/easycalc/mlib/matrix.c,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** matrix.c 27 Sep 2006 13:36:19 -0000 1.31 --- matrix.c 28 Sep 2006 13:24:20 -0000 1.32 *************** *** 1014,1026 **** { CError err; ! Matrix *a = NULL; ! Matrix *b = NULL; ! Matrix *m,*q; Int16 i,j; ! err = stack_get_val2(stack,&a,&b,matrix); if (err) { ! if (a) matrix_delete(a); ! if (b) matrix_delete(b); return err; } --- 1014,1026 ---- { CError err; ! Matrix *a,*b,*m,*q; Int16 i,j; ! err = stack_get_val(stack,&b,matrix); ! if (err) ! return err; ! err = stack_get_val(stack,&a,matrix); if (err) { ! matrix_delete(b); return err; } |