1 | /************************************
2 | Copyright (c) 2001,2002 RIPE NCC
3 |
4 | All Rights Reserved
5 |
6 | Permission to use, copy, modify, and distribute this software and its
7 | documentation for any purpose and without fee is hereby granted,
8 | provided that the above copyright notice appear in all copies and that
9 | both that copyright notice and this permission notice appear in
10 | supporting documentation, and that the name of the author not be
11 | used in advertising or publicity pertaining to distribution of the
12 | software without specific, written prior permission.
13 |
14 | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15 | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
16 | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
17 | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
18 | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
19 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 | ***************************************/
21 |
22 |
23 | #include "rip.h"
24 |
25 | #include <stdio.h>
26 | #include <stdlib.h>
27 |
28 |
29 | int ca_sanityCheck(values_t confVars[])
30 | /*
31 | - does a simple sanity check
32 | - Parameters
33 | - confVars - the array of configuration variables
34 | - Returns
35 | - an integer: -1 or 0
36 | */
37 | {
38 | int symbol; /* A counting variable */
39 | int status = 0; /* Assume that the Configuration File is complete. */
40 | int undefVars = 0; /* Number of undefined variables. */
41 | const char *configWarningStr = "Warning: undefined configuration variable:";
42 | const char *configError_1Str = "Error: Incomplete configuration file. Please check if this was intended.\n";
43 | const char *configError_2Str = " configuration variables undefined.\n";
44 |
45 | /*
46 | * We use CA_NUMBEROFSYMBOLS instead of VARS .....
47 | */
48 |
49 | for(symbol = 0; symbol < CA_NUMBEROFSYMBOLS; symbol++)
50 | {
51 | if (!confVars[symbol].strPtr)
52 | {
53 | ++undefVars;
54 | fprintf(stderr, "%s %s\n", configWarningStr, dictionary[symbol].varName);
55 | }
56 | }
57 |
58 | if (undefVars)
59 | {
60 | status = INCOMPLETE;
61 | }
62 |
63 | fprintf(stderr, "\n%s\n", configError_1Str);
64 | fprintf(stderr, "%d%s\n", undefVars, configError_2Str);
65 | return(status);
66 | }
67 |
68 | int ca_conifigCheck(void)
69 | /*
70 | * A wrapper for the ca_sanityCheck() function.A
71 | *
72 | * Parameters
73 | * - none
74 | *
75 | * Returns
76 | * -nothing
77 | */
78 | {
79 | return(ca_sanityCheck(confVars));
80 | }