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

Comparing ray/src/util/getinfo.c (file contents):
Revision 2.3 by greg, Thu Nov 12 10:06:11 1992 UTC vs.
Revision 2.9 by greg, Sat Jun 9 04:24:16 2012 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1992 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   *  getinfo.c - program to read info. header from file.
6   *
# Line 11 | Line 8 | static char SCCSid[] = "$SunId$ LBL";
8   */
9  
10   #include  <stdio.h>
11 + #include  <string.h>
12  
13 < #ifdef MSDOS
14 < #include <fcntl.h>
15 < extern int  _fmode;
13 > #include  "platform.h"
14 > #include  "resolu.h"
15 >
16 > #ifdef getc_unlocked            /* avoid nasty file-locking overhead */
17 > #undef getchar
18 > #undef putchar
19 > #define getchar         getchar_unlocked
20 > #define putchar         putchar_unlocked
21   #endif
22  
20 extern int  fputs();
23  
24 + static gethfunc tabstr;
25 + static void getdim(register FILE *fp);
26 + static void copycat(void);
27  
28 < tabstr(s)                               /* put out line followed by tab */
29 < register char  *s;
28 >
29 > static int
30 > tabstr(                         /* put out line followed by tab */
31 >        register char  *s,
32 >        void *p
33 > )
34   {
35          while (*s) {
36                  putchar(*s);
# Line 29 | Line 38 | register char  *s;
38          }
39          if (*--s == '\n')
40                  putchar('\t');
41 +        return(0);
42   }
43  
44  
45 < main(argc, argv)
46 < int  argc;
47 < char  **argv;
45 > int
46 > main(
47 >        int  argc,
48 >        char  **argv
49 > )
50   {
51          int  dim = 0;
52          FILE  *fp;
# Line 43 | Line 55 | char  **argv;
55          if (argc > 1 && !strcmp(argv[1], "-d")) {
56                  argc--; argv++;
57                  dim = 1;
58 < #ifdef MSDOS
59 <                setmode(fileno(stdin), _fmode = O_BINARY);
48 < #endif
58 >                SET_DEFAULT_BINARY(); /* for output file */
59 >                SET_FILE_BINARY(stdin);
60          } else if (argc == 2 && !strcmp(argv[1], "-")) {
61 < #ifdef MSDOS
62 <                setmode(fileno(stdin), O_BINARY);
52 <                setmode(fileno(stdout), O_BINARY);
53 < #endif
61 >                SET_FILE_BINARY(stdin);
62 >                SET_FILE_BINARY(stdout);
63                  getheader(stdin, NULL, NULL);
64                  copycat();
65 <                exit(0);
65 >                return 0;
66          }
67          for (i = 1; i < argc; i++) {
68                  fputs(argv[i], stdout);
# Line 64 | Line 73 | char  **argv;
73                                  fputs(": ", stdout);
74                                  getdim(fp);
75                          } else {
76 <                                tabstr(":\n");
76 >                                tabstr(":\n", NULL);
77                                  getheader(fp, tabstr, NULL);
78                                  putchar('\n');
79                          }
80                          fclose(fp);
81                  }
82          }
83 <        if (argc == 1)
83 >        if (argc == 1) {
84                  if (dim) {
85                          getdim(stdin);
86                  } else {
87 <                        getheader(stdin, fputs, stdout);
87 >                        getheader(stdin, (gethfunc*)fputs, stdout);
88                          putchar('\n');
89                  }
90 <        exit(0);
90 >        }
91 >        return 0;
92   }
93  
94  
95 < getdim(fp)                              /* get dimensions from file */
96 < register FILE  *fp;
95 > static void
96 > getdim(                         /* get dimensions from file */
97 >        register FILE  *fp
98 > )
99   {
100          int  j;
101          register int  c;
# Line 117 | Line 129 | register FILE  *fp;
129   }
130  
131  
132 < copycat()                       /* copy input to output */
132 > static void
133 > copycat(void)                   /* copy input to output */
134   {
135          register int    c;
136  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines