--- ray/src/ot/writeoct.c 1989/02/02 10:33:07 1.1 +++ ray/src/ot/writeoct.c 1990/09/06 23:30:13 1.3 @@ -43,6 +43,8 @@ char *ofn[]; for (i = 0; ofn[i] != NULL; i++) putstr(ofn[i]); putstr(""); + /* write number of objects */ + putint((long)nobjects, sizeof(OBJECT)); if (!(store & IO_TREE)) return; @@ -92,7 +94,7 @@ register long i; register int siz; { while (siz--) - putc(i>>(siz<<3) & 0377, stdout); + putc(i>>(siz<<3) & 0xff, stdout); if (ferror(stdout)) error(SYSTEM, "write error in putint"); } @@ -105,7 +107,7 @@ double f; extern double frexp(); int e; - putint((long)(frexp(f,&e)*0x7fffffff), sizeof(long)); + putint((long)(frexp(f,&e)*0x7fffffff), 4); putint(e, 1); } @@ -147,7 +149,7 @@ register OBJREC *o; #ifdef IARGS putint(o->oargs.niargs, 2); for (i = 0; i < o->oargs.niargs; i++) - putint(o->oargs.iarg[i], sizeof(long)); + putint(o->oargs.iarg[i], 4); #endif putint((long)o->oargs.nfargs, 2); for (i = 0; i < o->oargs.nfargs; i++)