=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/bsave.c,v retrieving revision 1.3 retrieving revision 1.5 diff -u -p -r1.3 -r1.5 --- OpenXM_contrib2/asir2000/io/bsave.c 2000/08/22 05:04:17 1.3 +++ OpenXM_contrib2/asir2000/io/bsave.c 2000/12/05 01:24:54 1.5 @@ -44,15 +44,13 @@ * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. - * $OpenXM: OpenXM_contrib2/asir2000/io/bsave.c,v 1.2 2000/08/21 08:31:38 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/bsave.c,v 1.4 2000/11/08 08:02:51 noro Exp $ */ /* saveXXX must not use GC_malloc(), GC_malloc_atomic(). */ #include "ca.h" #include "parse.h" -#if INET #include "com.h" -#endif #if PARI #include "genpari.h" @@ -80,14 +78,10 @@ void saveq(FILE *,Q); void savenum(FILE *,Num); void savepfins(FILE *,V); void savegfmmat(FILE *,GFMMAT); +void savebytearray(FILE *,BYTEARRAY); -#define O_GF2MAT 12 -#define O_MATHCAP 13 -#define O_F 14 -#define O_GFMMAT 15 - void (*savef[])() = { 0, savenum, savep, saver, savelist, savevect, - savemat, savestring, 0, savedp, saveui, saveerror,0,0,0,savegfmmat }; + savemat, savestring, 0, savedp, saveui, saveerror,0,0,0,savegfmmat, savebytearray }; void (*nsavef[])() = { saveq, savereal, 0, savebf, savecplx ,savemi, savelm, savegf2n, savegfpn}; static short zeroval = 0; @@ -373,4 +367,12 @@ GFMMAT p; write_short(s,&OID(p)); write_int(s,&p->row); write_int(s,&p->col); for ( i = 0, row = p->row, col = p->col; i < row; i++ ) write_intarray(s,p->body[i],col); +} + +void savebytearray(s,p) +FILE *s; +BYTEARRAY p; +{ + write_short(s,&OID(p)); write_int(s,&p->len); + write_string(s,p->body,p->len); }