apply mg_set listening_port only once, fixes #71

This commit is contained in:
Andrew Karpow 2015-05-01 21:05:15 +02:00
parent caddebcec0
commit ade4ee3808
1 changed files with 9 additions and 4 deletions

View File

@ -70,9 +70,9 @@ int main(int argc, char **argv)
unsigned int current_timer = 0, last_timer = 0;
char *run_as_user = NULL;
char const *error_msg = NULL;
char *webport = "8080";
atexit(bye);
error_msg = mg_set_option(server, "listening_port", "8080");
#ifdef WITH_DYNAMIC_ASSETS
mg_set_option(server, "document_root", SRC_PATH);
#endif
@ -100,7 +100,7 @@ int main(int argc, char **argv)
mpd.port = atoi(optarg);
break;
case 'w':
error_msg = mg_set_option(server, "listening_port", optarg);
webport = strdup(optarg);
break;
case 'u':
run_as_user = strdup(optarg);
@ -131,9 +131,14 @@ int main(int argc, char **argv)
}
}
error_msg = mg_set_option(server, "listening_port", webport);
if(error_msg) {
fprintf(stderr, "Mongoose error: %s\n", error_msg);
return EXIT_FAILURE;
}
/* drop privilges at last to ensure proper port binding */
if(run_as_user != NULL)
{
if(run_as_user != NULL) {
error_msg = mg_set_option(server, "run_as_user", run_as_user);
free(run_as_user);
if(error_msg)