moved config yang spec from main functions to options_main function
This commit is contained in:
parent
c4954f5c43
commit
08b128f4d7
6 changed files with 18 additions and 36 deletions
|
|
@ -446,7 +446,6 @@ main(int argc,
|
||||||
char *nacm_mode;
|
char *nacm_mode;
|
||||||
int logdst = CLICON_LOG_SYSLOG|CLICON_LOG_STDERR;
|
int logdst = CLICON_LOG_SYSLOG|CLICON_LOG_STDERR;
|
||||||
yang_stmt *yspec = NULL;
|
yang_stmt *yspec = NULL;
|
||||||
yang_stmt *yspecfg = NULL; /* For config XXX clixon bug */
|
|
||||||
char *str;
|
char *str;
|
||||||
int ss = -1; /* server socket */
|
int ss = -1; /* server socket */
|
||||||
cbuf *cbret = NULL; /* startup cbuf if invalid */
|
cbuf *cbret = NULL; /* startup cbuf if invalid */
|
||||||
|
|
@ -509,18 +508,12 @@ main(int argc,
|
||||||
clicon_log_init(__PROGRAM__, debug?LOG_DEBUG:LOG_INFO, logdst);
|
clicon_log_init(__PROGRAM__, debug?LOG_DEBUG:LOG_INFO, logdst);
|
||||||
clicon_debug_init(debug, NULL);
|
clicon_debug_init(debug, NULL);
|
||||||
|
|
||||||
/* Create configure yang-spec (note different from dbspec holding application specs) */
|
|
||||||
if ((yspecfg = yspec_new()) == NULL)
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
/* Find and read configfile */
|
/* Find and read configfile */
|
||||||
if (clicon_options_main(h, yspecfg) < 0){
|
if (clicon_options_main(h) < 0){
|
||||||
if (help)
|
if (help)
|
||||||
usage(h, argv[0]);
|
usage(h, argv[0]);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (clicon_config_yang_set(h, yspecfg) < 0)
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
/* External NACM file? */
|
/* External NACM file? */
|
||||||
nacm_mode = clicon_option_str(h, "CLICON_NACM_MODE");
|
nacm_mode = clicon_option_str(h, "CLICON_NACM_MODE");
|
||||||
|
|
|
||||||
|
|
@ -283,7 +283,6 @@ main(int argc, char **argv)
|
||||||
int logdst = CLICON_LOG_STDERR;
|
int logdst = CLICON_LOG_STDERR;
|
||||||
char *restarg = NULL; /* what remains after options */
|
char *restarg = NULL; /* what remains after options */
|
||||||
yang_stmt *yspec;
|
yang_stmt *yspec;
|
||||||
yang_stmt *yspecfg = NULL; /* For config XXX clixon bug */
|
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
char *str;
|
char *str;
|
||||||
int tabmode;
|
int tabmode;
|
||||||
|
|
@ -352,17 +351,12 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
clicon_debug_init(debug, NULL);
|
clicon_debug_init(debug, NULL);
|
||||||
|
|
||||||
/* Create configure yang-spec (note different from dbspec holding application specs) */
|
/* Find, read and parse configfile */
|
||||||
if ((yspecfg = yspec_new()) == NULL)
|
if (clicon_options_main(h) < 0){
|
||||||
goto done;
|
|
||||||
/* Find and read configfile */
|
|
||||||
if (clicon_options_main(h, yspecfg) < 0){
|
|
||||||
if (help)
|
if (help)
|
||||||
usage(h, argv[0]);
|
usage(h, argv[0]);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (clicon_config_yang_set(h, yspecfg) < 0)
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
/* Now rest of options */
|
/* Now rest of options */
|
||||||
opterr = 0;
|
opterr = 0;
|
||||||
|
|
|
||||||
|
|
@ -395,7 +395,6 @@ main(int argc,
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
struct timeval tv = {0,}; /* timeout */
|
struct timeval tv = {0,}; /* timeout */
|
||||||
yang_stmt *yspec = NULL;
|
yang_stmt *yspec = NULL;
|
||||||
yang_stmt *yspecfg = NULL; /* For config XXX clixon bug */
|
|
||||||
char *str;
|
char *str;
|
||||||
uint32_t id;
|
uint32_t id;
|
||||||
cvec *nsctx_global = NULL; /* Global namespace context */
|
cvec *nsctx_global = NULL; /* Global namespace context */
|
||||||
|
|
@ -443,15 +442,10 @@ main(int argc,
|
||||||
clicon_log_init(__PROGRAM__, debug?LOG_DEBUG:LOG_INFO, logdst);
|
clicon_log_init(__PROGRAM__, debug?LOG_DEBUG:LOG_INFO, logdst);
|
||||||
clicon_debug_init(debug, NULL);
|
clicon_debug_init(debug, NULL);
|
||||||
|
|
||||||
/* Create configure yang-spec (note different from dbspec holding application specs) */
|
/* Find, read and parse configfile */
|
||||||
if ((yspecfg = yspec_new()) == NULL)
|
if (clicon_options_main(h) < 0)
|
||||||
goto done;
|
|
||||||
/* Find and read configfile */
|
|
||||||
if (clicon_options_main(h, yspecfg) < 0)
|
|
||||||
return -1;
|
return -1;
|
||||||
if (clicon_config_yang_set(h, yspecfg) < 0)
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
/* Now rest of options */
|
/* Now rest of options */
|
||||||
optind = 1;
|
optind = 1;
|
||||||
opterr = 0;
|
opterr = 0;
|
||||||
|
|
|
||||||
|
|
@ -582,7 +582,6 @@ main(int argc,
|
||||||
char *dir;
|
char *dir;
|
||||||
int logdst = CLICON_LOG_SYSLOG;
|
int logdst = CLICON_LOG_SYSLOG;
|
||||||
yang_stmt *yspec = NULL;
|
yang_stmt *yspec = NULL;
|
||||||
yang_stmt *yspecfg = NULL; /* For config XXX clixon bug */
|
|
||||||
char *stream_path;
|
char *stream_path;
|
||||||
int finish = 0;
|
int finish = 0;
|
||||||
int start = 1;
|
int start = 1;
|
||||||
|
|
@ -642,13 +641,8 @@ main(int argc,
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Create configure yang-spec note different from dbspec holding application specs) */
|
|
||||||
if ((yspecfg = yspec_new()) == NULL)
|
|
||||||
goto done;
|
|
||||||
/* Find and read configfile */
|
/* Find and read configfile */
|
||||||
if (clicon_options_main(h, yspecfg) < 0)
|
if (clicon_options_main(h) < 0)
|
||||||
goto done;
|
|
||||||
if (clicon_config_yang_set(h, yspecfg) < 0)
|
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
stream_path = clicon_option_str(h, "CLICON_STREAM_PATH");
|
stream_path = clicon_option_str(h, "CLICON_STREAM_PATH");
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ int clicon_option_dump(clicon_handle h, int dblevel);
|
||||||
int clicon_option_add(clicon_handle h, char *name, char *value);
|
int clicon_option_add(clicon_handle h, char *name, char *value);
|
||||||
|
|
||||||
/* Initialize options: set defaults, read config-file, etc */
|
/* Initialize options: set defaults, read config-file, etc */
|
||||||
int clicon_options_main(clicon_handle h, yang_stmt *yspec);
|
int clicon_options_main(clicon_handle h);
|
||||||
|
|
||||||
/*! Check if a clicon option has a value */
|
/*! Check if a clicon option has a value */
|
||||||
int clicon_option_exists(clicon_handle h, const char *name);
|
int clicon_option_exists(clicon_handle h, const char *name);
|
||||||
|
|
|
||||||
|
|
@ -355,8 +355,7 @@ clicon_option_add(clicon_handle h,
|
||||||
* other yang modules.
|
* other yang modules.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
clicon_options_main(clicon_handle h,
|
clicon_options_main(clicon_handle h)
|
||||||
yang_stmt *yspec)
|
|
||||||
{
|
{
|
||||||
int retval = -1;
|
int retval = -1;
|
||||||
char *configfile;
|
char *configfile;
|
||||||
|
|
@ -364,7 +363,11 @@ clicon_options_main(clicon_handle h,
|
||||||
char *suffix;
|
char *suffix;
|
||||||
char xml = 0; /* Configfile is xml, otherwise legacy */
|
char xml = 0; /* Configfile is xml, otherwise legacy */
|
||||||
cxobj *xconfig = NULL;
|
cxobj *xconfig = NULL;
|
||||||
|
yang_stmt *yspec = NULL;
|
||||||
|
|
||||||
|
/* Create configure yang-spec */
|
||||||
|
if ((yspec = yspec_new()) == NULL)
|
||||||
|
goto done;
|
||||||
/*
|
/*
|
||||||
* Set configure file if not set by command-line above
|
* Set configure file if not set by command-line above
|
||||||
*/
|
*/
|
||||||
|
|
@ -413,8 +416,12 @@ clicon_options_main(clicon_handle h,
|
||||||
clicon_err(OE_CFG, 0, "Config file %s: did not find corresponding Yang specification\nHint: File does not begin with: <clixon-config xmlns=\"%s\"> or clixon-config.yang not found?", configfile, CLIXON_CONF_NS);
|
clicon_err(OE_CFG, 0, "Config file %s: did not find corresponding Yang specification\nHint: File does not begin with: <clixon-config xmlns=\"%s\"> or clixon-config.yang not found?", configfile, CLIXON_CONF_NS);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
/* Set yang config spec (must store to free at exit, since conf_xml below uses it) */
|
||||||
|
if (clicon_config_yang_set(h, yspec) < 0)
|
||||||
|
goto done;
|
||||||
/* Set clixon_conf pointer to handle */
|
/* Set clixon_conf pointer to handle */
|
||||||
clicon_conf_xml_set(h, xconfig);
|
if (clicon_conf_xml_set(h, xconfig) < 0)
|
||||||
|
goto done;
|
||||||
|
|
||||||
retval = 0;
|
retval = 0;
|
||||||
done:
|
done:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue