diff --git a/src/common/options.c b/src/common/options.c --- a/src/common/options.c +++ b/src/common/options.c @@ -46,13 +46,11 @@ int options_init(int argc, char *argv[], char *configfileprefix; char *configfile; - size_t i, j; + size_t i; char *optstring = "hc:"; char curopt; - struct remoteio_server *aserver; - configfileprefix = NULL; while((curopt = getopt(argc, argv, optstring)) != -1) switch(curopt) @@ -214,39 +212,13 @@ int options_init(int argc, char *argv[], */ /* remoteio -- iterate through servers */ - aserver = malloc(sizeof(struct remoteio_server)); - if(!aserver) - { - fprintf(stderr, "@todo cleanup!\n"); - abort(); - } - (*allopts)->remoteio->servers = aserver; - - j = cfg_size((*allopts)->data->cfg, "server"); - for(i = 0; i < j; i ++) + i = remoteio_config((*allopts)->data->cfg, (*allopts)->remoteio); + if(i) { - cfg_t *cfg_aserver; - - cfg_aserver = cfg_getnsec((*allopts)->data->cfg, "server", i); - - if(!aserver) /*< if the malloc in the previous loop failed */ - abort(); - - aserver->name = strdup(cfg_title(cfg_aserver)); - aserver->hostname = strdup(cfg_getstr(cfg_aserver, "hostname")); - aserver->username = strdup(cfg_getstr(cfg_aserver, "username")); - if(strcmp(cfg_getstr(cfg_aserver, "method"), "ssh") == 0) - aserver->method = REMOTEIO_METHOD_SSH; - else - abort(); - - if(i < j - 1) - { - aserver->next = malloc(sizeof(struct remoteio_server)); - aserver = aserver->next; - } - } - aserver->next = NULL; + fprintf(stderr, "cleanup\n"); + abort(); + return 1; + }; return 0; }