| 133 |
|
|
| 134 |
|
|
| 135 |
|
static long |
| 136 |
< |
getint(siz) /* get a siz-byte positive integer */ |
| 136 |
> |
getint(siz) /* get a siz-byte integer */ |
| 137 |
|
register int siz; |
| 138 |
|
{ |
| 139 |
|
register int c; |
| 140 |
< |
register long r = 0L; |
| 140 |
> |
register long r; |
| 141 |
|
|
| 142 |
+ |
c = getc(infp); |
| 143 |
+ |
r = c&0x80 ? -1L : 0L; /* sign extend */ |
| 144 |
+ |
ungetc(c, infp); |
| 145 |
|
while (siz--) { |
| 146 |
|
if ((c = getc(infp)) == EOF) |
| 147 |
|
octerror(USER, "truncated octree"); |
| 158 |
|
extern double ldexp(); |
| 159 |
|
double d; |
| 160 |
|
|
| 161 |
< |
d = (double)getint(sizeof(long))/0x7fffffff; |
| 162 |
< |
return(ldexp(d, (char)getint(1))); /* sign extend */ |
| 161 |
> |
d = (double)getint(4)/0x7fffffff; |
| 162 |
> |
return(ldexp(d, getint(1))); |
| 163 |
|
} |
| 164 |
|
|
| 165 |
|
|
| 196 |
|
register int i; |
| 197 |
|
register OBJREC *objp; |
| 198 |
|
|
| 199 |
< |
i = (char)getint(1); /* sign extend */ |
| 200 |
< |
if (i < 0) |
| 199 |
> |
i = getint(1); |
| 200 |
> |
if (i == -1) |
| 201 |
|
return(OVOID); /* terminator */ |
| 202 |
|
if ((obj = newobject()) == OVOID) |
| 203 |
|
error(SYSTEM, "out of object space"); |
| 223 |
|
if (objp->oargs.iarg == NULL) |
| 224 |
|
goto memerr; |
| 225 |
|
for (i = 0; i < objp->oargs.niargs; i++) |
| 226 |
< |
objp->oargs.iarg[i] = getint(sizeof(long)); |
| 226 |
> |
objp->oargs.iarg[i] = getint(4); |
| 227 |
|
} else |
| 228 |
|
objp->oargs.iarg = NULL; |
| 229 |
|
#endif |