ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cal/ev.c
Revision: 1.7
Committed: Thu Sep 11 05:34:47 2008 UTC (15 years, 7 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad5R2, rad4R2P2, rad5R0, rad5R1, rad4R2, rad4R1, rad4R0, rad4R2P1, rad5R3
Changes since 1.6: +4 -1 lines
Log Message:
Avoid returning error on spurious errno settings

File Contents

# User Rev Content
1 greg 1.1 #ifndef lint
2 greg 1.7 static const char RCSid[] = "$Id: ev.c,v 1.6 2003/11/14 17:31:24 schorsch Exp $";
3 greg 1.1 #endif
4     /*
5     * ev.c - program to evaluate expression arguments
6     *
7     * 1/29/87
8     */
9    
10 schorsch 1.2 #include <stdlib.h>
11 greg 1.1 #include <stdio.h>
12 schorsch 1.4 #include <errno.h>
13 greg 1.1
14     #include "calcomp.h"
15 schorsch 1.3 #include "rterror.h"
16 greg 1.1
17    
18 schorsch 1.6 int
19 greg 1.1 main(argc, argv)
20     int argc;
21     char *argv[];
22     {
23     int i;
24    
25     esupport |= E_FUNCTION;
26     esupport &= ~(E_VARIABLE|E_INCHAN|E_OUTCHAN|E_RCONST);
27    
28     #ifdef BIGGERLIB
29     biggerlib();
30     #endif
31    
32     errno = 0;
33     for (i = 1; i < argc; i++)
34     printf("%.9g\n", eval(argv[i]));
35    
36 greg 1.7 if (errno != EDOM && errno != ERANGE)
37     errno = 0;
38    
39 greg 1.1 quit(errno ? 2 : 0);
40 schorsch 1.6 return (errno ? 2 : 0); /* pro forma return */
41 greg 1.1 }
42    
43    
44     void
45     eputs(msg)
46     char *msg;
47     {
48     fputs(msg, stderr);
49     }
50    
51    
52     void
53     wputs(msg)
54     char *msg;
55     {
56     eputs(msg);
57     }
58    
59    
60     void
61     quit(code)
62     int code;
63     {
64     exit(code);
65     }