=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/engine/init.c,v retrieving revision 1.22 retrieving revision 1.25 diff -u -p -r1.22 -r1.25 --- OpenXM_contrib2/asir2000/engine/init.c 2004/12/02 13:48:43 1.22 +++ OpenXM_contrib2/asir2000/engine/init.c 2006/02/13 11:41:11 1.25 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/engine/init.c,v 1.21 2003/06/07 16:40:25 saito Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/engine/init.c,v 1.24 2006/02/08 02:11:19 noro Exp $ */ #include "ca.h" #include "version.h" @@ -87,7 +87,7 @@ int StrassenSize = 0; int outputstyle = 0; static int *lprime; -int lprime_size; +static int lprime_size; #if defined(PARI) int paristack = 1<<16; @@ -260,21 +260,24 @@ char *get_asir_distribution() { } -void create_error(ERR *err,unsigned int serial,char *msg) +void create_error(ERR *err,unsigned int serial,char *msg,LIST trace) { int len; - USINT ui; + USINT ui,notsupp; NODE n,n1; LIST list; char *msg1; STRING errmsg; MKUSINT(ui,serial); + MKUSINT(notsupp,-1); len = strlen(msg); msg1 = (char *)MALLOC(len+1); strcpy(msg1,msg); MKSTR(errmsg,msg1); - MKNODE(n1,errmsg,0); MKNODE(n,ui,n1); MKLIST(list,n); + if ( !trace ) + MKLIST(trace,0); + n = mknode(3,ui,notsupp,errmsg,trace); MKLIST(list,n); MKERR(*err,list); }