9447cdb2322c11d5546543746a9e20bd60726e95
[idzebra-moved-to-github.git] / util / res-test.c
1 /* This file is part of the Zebra server.
2    Copyright (C) 1994-2010 Index Data
3
4 Zebra is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free
6 Software Foundation; either version 2, or (at your option) any later
7 version.
8
9 Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
18 */
19
20
21
22 #include <stdio.h>
23
24 #include <zebrautl.h>
25
26 static void res_print (const char *name, const char *value)
27 {
28     yaz_log (YLOG_LOG, "%s=%s", name, value);
29 }
30
31 int main(int argc, char **argv)
32 {
33     char *arg;
34     char *resfile = NULL;
35     char *prefix = NULL;
36     int ret;
37     char *prog = *argv;
38     Res res;
39     int write_flag = 0;
40
41     log_init (YLOG_DEFAULT_LEVEL, prog, NULL);
42     while ((ret = options ("wp:v", argv, argc, &arg)) != -2)
43         if (ret == 0)
44             resfile = arg;
45         else if (ret == 'v')
46             log_init (YLOG_ALL, prog, NULL);
47         else if (ret == 'p')
48             prefix = arg;
49         else if (ret == 'w')
50             write_flag = 1;
51         else
52         {
53             yaz_log (YLOG_FATAL, "Unknown option '-%s'", arg);
54             exit (1);
55         }
56     if (!resfile)
57     {
58         yaz_log (YLOG_FATAL, "No resource file given.");
59         exit (1);
60     }
61     res = res_open (resfile);
62     res_trav (res, prefix, res_print);
63     if (write_flag)
64         res_write (res);
65     res_close (res);
66     return 0;
67 }
68 /*
69  * Local variables:
70  * c-basic-offset: 4
71  * c-file-style: "Stroustrup"
72  * indent-tabs-mode: nil
73  * End:
74  * vim: shiftwidth=4 tabstop=8 expandtab
75  */
76