diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -183,6 +183,13 @@ static void init_defaults_post(void) uh_index_add("index.htm"); uh_index_add("default.html"); uh_index_add("default.htm"); + + if (conf.cgi_prefix) { + char *str = malloc(strlen(conf.docroot) + strlen(conf.cgi_prefix) + 1); + strcpy(str, conf.docroot); + strcat(str, conf.cgi_prefix); + conf.cgi_docroot_path = str; + }; } static void fixup_prefix(char *str) @@ -406,12 +413,6 @@ int main(int argc, char **argv) } uh_config_parse(); - init_defaults_post(); - - if (!bound) { - fprintf(stderr, "Error: No sockets bound, unable to continue\n"); - return 1; - } if (!conf.docroot) { if (!realpath(".", uh_buf)) { @@ -421,6 +422,13 @@ int main(int argc, char **argv) conf.docroot = strdup(uh_buf); } + init_defaults_post(); + + if (!bound) { + fprintf(stderr, "Error: No sockets bound, unable to continue\n"); + return 1; + } + #ifdef HAVE_TLS if (n_tls) { if (!tls_crt || !tls_key) { |