1 /*
2 -Procedure  zzerrorinit ( Initialize the SPICE error subsytem to RETURN/NULL )
3 
4 -Abstract
5 
6    Set the CSPICE error subsystem to RETURN mode, and the error
7    device to NULL.
8 
9 -Disclaimer
10 
11    THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
12    CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
13    GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
14    ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
15    PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
16    TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
17    WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
18    PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
19    SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
20    SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
21 
22    IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
23    BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
24    LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
25    INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
26    REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
27    REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
28 
29    RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
30    THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
31    CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
32    ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
33 
34 -Required_Reading
35 
36    None.
37 
38 -Keywords
39 
40    error
41 
42 */
43 
44 #include "SpiceUsr.h"
45 #include "zzerror.h"
46 
zzerrorinit(void)47 void zzerrorinit(void)
48 
49 /*
50 
51 -Brief_I/O
52 
53    None.
54 
55 -Detailed_Input
56 
57    None.
58 
59 -Detailed_Output
60 
61    None.
62 
63 -Parameters
64 
65    None.
66 
67 -Exceptions
68 
69    None.
70 
71 -Files
72 
73    None.
74 
75 -Particulars
76 
77    Initializes the error subsystem to the "RETURN" state, sets
78    the error output device to NULL (no output).
79 
80    Call this routine prior to calling zzerror.
81 
82 -Examples
83 
84    Expected use, check failed, return the error string:
85 
86       /.
87       Initialize the error system to RETURN/NULL
88       ./
89       zzerrorinit();
90 
91          ... CSPICE calls ...
92 
93       /.
94       Check for a failure, return the error string if
95       failed_c returns true.
96       ./
97       if( failed_c() )
98          {
99          error_str = zzerror( index );
100 
101          /.
102          Return the error string traceback to
103          the calling program.
104          ./
105          error_return( error_str );
106          }
107 
108 -Restrictions
109 
110    None.
111 
112 -Literature_References
113 
114    None.
115 
116 -Author_and_Institution
117 
118    E. D. Wright    (JPL)
119 
120 -Version
121 
122    CSPICE 1.0.0 17-OCT-2005 (EDW)
123 
124       Initial release to CSPICE
125 
126 -Index_Entries
127 
128    set error system return mode
129 
130 -&
131 */
132    {
133 
134    static SpiceBoolean     first = SPICETRUE;
135 
136    /*
137    Prevent repeated executions of code with the 'first' flag.
138    */
139    if ( first )
140       {
141 
142       /*
143       Explicitly set the error subsystem to return mode, the
144       error output device to NULL.
145       */
146 
147       erract_c("SET", (SpiceInt) sizeof("RETURN"), "RETURN");
148       errdev_c("SET", (SpiceInt) sizeof("NULL")  , "NULL"  );
149 
150       }
151 
152    }
153 
154