summaryrefslogtreecommitdiffstatsabout
path: root/utility/shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'utility/shell.c')
-rw-r--r--utility/shell.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/utility/shell.c b/utility/shell.c
index 07d9da1..eaa7098 100644
--- a/utility/shell.c
+++ b/utility/shell.c
@@ -54,7 +54,7 @@ void show_help(const char *prog, const apr_getopt_option_t *opts, FILE *output)
54 54
55int main(int argc, const char *const argv[]) 55int main(int argc, const char *const argv[])
56{ 56{
57 apr_pool_t *pool; 57 apr_pool_t *pool, *ptemp;
58 apr_getopt_t *opts; 58 apr_getopt_t *opts;
59 int opt; 59 int opt;
60 const char *opt_arg; 60 const char *opt_arg;
@@ -69,12 +69,13 @@ int main(int argc, const char *const argv[])
69 fprintf(stderr, "Failed to create memory pool!\n"); 69 fprintf(stderr, "Failed to create memory pool!\n");
70 exit(1); 70 exit(1);
71 } 71 }
72 apr_pool_create(&ptemp, NULL);
72 73
73 /** Iterate over command line arguments 74 /** Iterate over command line arguments
74 * shoving args in a apr_table for processing later*/ 75 * shoving args in a apr_table for processing later*/
75 args = apr_table_make(pool, 5); 76 args = apr_table_make(ptemp, 5);
76 apr_table_setn(args, "config", "mod_log_sql.conf"); 77 apr_table_setn(args, "config", "mod_log_sql.conf");
77 apr_getopt_init(&opts, pool, argc, argv); 78 apr_getopt_init(&opts, ptemp, argc, argv);
78 while ((rv = apr_getopt_long(opts, _opt_config, &opt, &opt_arg)) == APR_SUCCESS) { 79 while ((rv = apr_getopt_long(opts, _opt_config, &opt, &opt_arg)) == APR_SUCCESS) {
79 switch (opt) { 80 switch (opt) {
80 case 'c': 81 case 'c':
@@ -122,17 +123,21 @@ int main(int argc, const char *const argv[])
122 } 123 }
123 124
124 // Process configuration file 125 // Process configuration file
126 parser_init(pool);
125 config_init(pool); 127 config_init(pool);
126 base = config_create(pool); 128 base = config_create(pool);
127 rv = config_read(base, apr_table_get(args,"Config"), args); 129 rv = config_read(base, apr_table_get(args,"Config"), args);
130 apr_pool_destroy(ptemp);
131
128 if (APR_STATUS_IS_ENOENT(rv)) { 132 if (APR_STATUS_IS_ENOENT(rv)) {
129 fprintf(stderr,"Could not load configuration file: %s\n",apr_table_get(args,"config")); 133 fprintf(stderr,"Could not load configuration file: %s\n",apr_table_get(args,"config"));
130 } else if (rv) { 134 } else if (rv) {
131 exit(1); 135 exit(1);
132 } 136 }
133 config_dump(base); 137 config_dump(base);
134 // Apply overrides from command line 138
135 find_log_files(base); 139 // Find files and parse
140 parser_find_logs(base);
136 if (!apr_is_empty_array(base->input_files)) { 141 if (!apr_is_empty_array(base->input_files)) {
137 char **filelist; 142 char **filelist;
138 int f, l; 143 int f, l;