ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/x11.c
(Generate patch)

Comparing ray/src/rt/x11.c (file contents):
Revision 2.32 by schorsch, Tue Mar 30 16:13:01 2004 UTC vs.
Revision 2.37 by greg, Mon Aug 5 21:54:01 2024 UTC

# Line 9 | Line 9 | static const char      RCSid[] = "$Id$";
9  
10   #include  "standard.h"
11   #include  <sys/ioctl.h>
12 #ifdef sparc
13 #include  <sys/conf.h>
14 #include  <sys/file.h>
15 #include  <sys/filio.h>
16 #endif
12   #if  !defined(FNDELAY) && defined(O_NONBLOCK)
13   #define  FNDELAY  O_NONBLOCK
14   #endif
# Line 211 | Line 206 | x11_init(              /* initialize driver */
206                  x11_driver.comin = x11_comin;
207                  x11_driver.comout = x11_comout;
208                  erract[COMMAND].pf = x11_comout;
209 +                /*                      doesn't work with raypcalls.c
210                  if (erract[WARNING].pf != NULL)
211                          erract[WARNING].pf = x11_errout;
212 +                */
213                  inpcheck = IC_X11;
214          } else {
215                  x11_driver.comin = std_comin;
# Line 375 | Line 372 | x11_comin(             /* read in a command line */
372  
373   static void
374   x11_comout(             /* output a string to command line */
375 <        char  *outp
375 >        const char  *outp
376   )
377   {
378          if (comline == NULL || outp == NULL || !outp[0])
# Line 402 | Line 399 | std_comin(             /* read in command line from stdin */
399          char  *prompt
400   )
401   {
402 +        int     n, c;
403 +
404          if (prompt != NULL) {
405                  if (fromcombuf(inp, &x11_driver))
406                          return;
# Line 417 | Line 416 | std_comin(             /* read in command line from stdin */
416                  inpcheck = IC_IOCTL;
417          }
418   #endif
419 <        if (gets(inp) == NULL) {
419 >        n = 0;          /* gets() no longer exists... */
420 >        while ((c = getchar()) != EOF && c != '\n')
421 >                inp[n++] = c;
422 >
423 >        if (!n & (c == EOF)) {
424                  strcpy(inp, "quit");
425                  return;
426          }
427 <        x11_driver.inpready -= strlen(inp) + 1;
428 <        if (x11_driver.inpready < 0)
429 <                x11_driver.inpready = 0;
427 >        inp[n] = '\0';
428 >        x11_driver.inpready -= n + 1;
429 >        x11_driver.inpready *= (x11_driver.inpready > 0);
430   }
431  
432  
433   static void
434   std_comout(             /* write out string to stdout */
435 <        char    *outp
435 >        const char      *outp
436   )
437   {
438          fputs(outp, stdout);
# Line 561 | Line 564 | true_pixel(                    /* return true pixel value for color */
564   )
565   {
566          unsigned long  rval;
567 <        BYTE  rgb[3];
567 >        uby8  rgb[3];
568  
569          map_color(rgb, col);
570          rval = ourvinfo.red_mask*rgb[RED]/255 & ourvinfo.red_mask;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines