| 325 |
|
return; |
| 326 |
|
} |
| 327 |
|
*v = *(viewhist + ((nhist-1)%VIEWHISTLEN)); |
| 328 |
< |
goto again; /* poss. overloading dev_section()? */ |
| 328 |
> |
goto again; /* XXX overloading dev_section()? */ |
| 329 |
|
} |
| 330 |
|
DCHECK(*slist < 0, WARNING, "no visible sections in new_view"); |
| 331 |
|
for ( ; *slist >= 0; slist++) |
| 382 |
|
vwfocus.horiz = hsiz * odev.v.horiz; |
| 383 |
|
vwfocus.vert = vsiz * odev.v.vert; |
| 384 |
|
break; |
| 385 |
+ |
case VT_PLS: |
| 386 |
+ |
vwfocus.horiz = hsiz * sin((PI/180./2.)*odev.v.horiz) / |
| 387 |
+ |
(1.0 + cos((PI/180./2.)*odev.v.horiz)); |
| 388 |
+ |
vwfocus.horiz *= vwfocus.horiz; |
| 389 |
+ |
vwfocus.horiz = (2.*180./PI)*acos((1. - vwfocus.horiz) / |
| 390 |
+ |
(1. + vwfocus.horiz)); |
| 391 |
+ |
vwfocus.vert = vsiz * sin((PI/180./2.)*odev.v.vert) / |
| 392 |
+ |
(1.0 + cos((PI/180./2.)*odev.v.vert)); |
| 393 |
+ |
vwfocus.vert *= vwfocus.vert; |
| 394 |
+ |
vwfocus.vert = (2.*180./PI)*acos((1. - vwfocus.vert) / |
| 395 |
+ |
(1. + vwfocus.vert)); |
| 396 |
+ |
break; |
| 397 |
|
case VT_HEM: |
| 398 |
|
vwfocus.horiz = 2.*180./PI*asin( |
| 399 |
|
hsiz * sin(PI/180./2.*odev.v.horiz) ); |
| 506 |
|
static int bufsiz = 0; |
| 507 |
|
MSGHEAD msg; |
| 508 |
|
/* read message header */ |
| 509 |
< |
if (fread((char *)&msg, sizeof(MSGHEAD), 1, stdin) != 1) |
| 509 |
> |
if (getbinary(&msg, sizeof(MSGHEAD), 1, stdin) != 1) |
| 510 |
|
goto readerr; |
| 511 |
|
if (msg.nbytes > 0) { /* get the message body */ |
| 512 |
|
if (msg.nbytes > bufsiz) { |
| 518 |
|
if (buf == NULL) |
| 519 |
|
error(SYSTEM, "out of memory in serv_result"); |
| 520 |
|
} |
| 521 |
< |
if (fread(buf, 1, msg.nbytes, stdin) != msg.nbytes) |
| 521 |
> |
if (getbinary(buf, 1, msg.nbytes, stdin) != msg.nbytes) |
| 522 |
|
goto readerr; |
| 523 |
|
} |
| 524 |
|
switch (msg.type) { /* process results */ |
| 543 |
|
break; |
| 544 |
|
case DS_STARTIMM: |
| 545 |
|
case DS_ENDIMM: |
| 546 |
< |
if (!(imm_mode = msg.type==DS_STARTIMM)) |
| 546 |
> |
if (!(imm_mode = (msg.type==DS_STARTIMM))) |
| 547 |
|
dev_flush(); |
| 548 |
|
#ifdef DEBUG |
| 549 |
|
{ |
| 597 |
|
} |
| 598 |
|
msg.type = type; /* write and flush the message */ |
| 599 |
|
msg.nbytes = nbytes; |
| 600 |
< |
fwrite((char *)&msg, sizeof(MSGHEAD), 1, stdout); |
| 600 |
> |
putbinary(&msg, sizeof(MSGHEAD), 1, stdout); |
| 601 |
|
if (nbytes > 0) |
| 602 |
< |
fwrite(p, 1, nbytes, stdout); |
| 602 |
> |
putbinary(p, 1, nbytes, stdout); |
| 603 |
|
if (fflush(stdout) < 0) |
| 604 |
|
error(SYSTEM, "write error in serv_request"); |
| 605 |
|
} |