diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -451,7 +451,7 @@ void blendjob_remove(struct blendjob **h // Begin non-working framework? - int distrend_do_config(int argc, char *argv[], struct distrend_config *config) + int distrend_do_config(int argc, char *argv[], struct distrend_config **config) { cfg_opt_t myopts_listen[] = { @@ -469,8 +469,8 @@ void blendjob_remove(struct blendjob **h CFG_END() }; - config = malloc(sizeof(struct distrend_config)); - options_init(argc, argv, &config->mycfg, myopts, "server", &config->options); + *config = malloc(sizeof(struct distrend_config)); + options_init(argc, argv, &(*config)->mycfg, myopts, "server", &(*config)->options); return 0; } @@ -504,7 +504,7 @@ int main(int argc, char *argv[]) head = NULL; cont = 1; - distrend_do_config(argc, argv, config); + distrend_do_config(argc, argv, &config); distrend_listen(&listenset, config); /* This is called the ``main loop'' */