test_config.c 2.53 KB
Newer Older
's avatar
committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
 * Copyright (c) 2006, CESNET
 * All rights reserved.
 *
 * LICENSE TERMS
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of the company nor the names of its contributors 
 *       may be used to endorse or promote products derived from this 
 *       software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
 * THE COMPANY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * $Id$
 *
 */

34
35
36
37
38
39
/*
 * Prints content of configuration file specified by command-line argument.
 * Can be used for configuration files in mapi.conf format.
 */
#include <stdio.h>

40
#include "../../src/common/parseconf.h"
41

42
43
44
45
46
47
48
49
char *categories[]={
	"global",
	"subject",
	"parameters",
	"measurement",
	"",
	NULL
};
50
51
52

int main(int argc, char *argv[]) {

53
	conf_category_entry_t *cat;
54
55
	conf_parameter_t *param;
	char *filename;
56
	char **category;
57
58
59
60
61
62
63
64
65
66
67
68
69
70

	if (argc!=2) {
		fprintf(stderr, "test_config: Usage: test_config <config file>\n");
		return -1;
	}

	filename=argv[1];

	if (pc_load(filename)!=1) {
		fprintf(stderr, "%s: pc_load() did not load file %s\n", __func__,
			filename);
		return -1;
	}

71
72
	category=categories;
	while (*category) {
73

74
75
76
		cat=pc_get_category(*category);
		while (cat) {
			printf("category: %s\n", *category);
77

78
79
80
			param=cat->params;
			while (param) {
				printf("   name: %s, value: %s\n", param->name, param->value);
81

82
83
84
85
				param=param->next;
			}
			printf("\n");
			cat=cat->next;
86
		}
87
		category++;
88
89
90
	}
	return 0;
}