ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/duphead.c
Revision: 2.4
Committed: Tue Feb 25 02:47:22 2003 UTC (21 years, 2 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad3R5
Changes since 2.3: +1 -56 lines
Log Message:
Replaced inline copyright notice with #include "copyright.h"

File Contents

# User Rev Content
1 greg 2.1 #ifndef lint
2 greg 2.3 static const char RCSid[] = "$Id$";
3 greg 2.1 #endif
4     /*
5     * Duplicate header on stdout.
6 greg 2.3 *
7     * Externals declared in ray.h
8     */
9    
10 greg 2.4 #include "copyright.h"
11 greg 2.1
12     #include "standard.h"
13     #include "paths.h"
14    
15    
16     int headismine = 1; /* true if header file belongs to me */
17    
18     static char *headfname = NULL; /* temp file name */
19     static FILE *headfp = NULL; /* temp file pointer */
20    
21    
22 greg 2.3 void
23 greg 2.1 headclean() /* remove header temp file (if one) */
24     {
25 greg 2.3 if (headfname == NULL)
26     return;
27     if (headfp != NULL)
28     fclose(headfp);
29     if (headismine)
30     unlink(headfname);
31 greg 2.1 }
32    
33    
34 greg 2.3 void
35 greg 2.1 openheader() /* save standard output to header file */
36     {
37 greg 2.2 static char template[] = TEMPLATE;
38    
39     headfname = mktemp(template);
40 greg 2.1 if (freopen(headfname, "w", stdout) == NULL) {
41     sprintf(errmsg, "cannot open header file \"%s\"", headfname);
42     error(SYSTEM, errmsg);
43     }
44     }
45    
46    
47 greg 2.3 void
48 greg 2.1 dupheader() /* repeat header on standard output */
49     {
50     register int c;
51    
52     if (headfp == NULL) {
53     if ((headfp = fopen(headfname, "r")) == NULL)
54     error(SYSTEM, "error reopening header file");
55     #ifdef MSDOS
56     setmode(fileno(headfp), O_BINARY);
57     #endif
58     } else if (fseek(headfp, 0L, 0) < 0)
59     error(SYSTEM, "seek error on header file");
60     while ((c = getc(headfp)) != EOF)
61     putchar(c);
62     }