Merge remote-tracking branch 'origin/fix-libconfig' into develop_integration_2018_w36
This commit is contained in:
@@ -142,25 +142,16 @@ char defbool[2]="1";
|
|||||||
|
|
||||||
int config_process_cmdline(paramdef_t *cfgoptions,int numoptions, char *prefix)
|
int config_process_cmdline(paramdef_t *cfgoptions,int numoptions, char *prefix)
|
||||||
{
|
{
|
||||||
|
int c = config_get_if()->argc;
|
||||||
|
int i,j;
|
||||||
int c = config_get_if()->argc;
|
char *pp;
|
||||||
int i,j;
|
char cfgpath[512]; /* 512 should be enough for the sprintf below */
|
||||||
char *pp;
|
|
||||||
char *cfgpath;
|
|
||||||
|
|
||||||
j = (prefix ==NULL) ? 0 : strlen(prefix);
|
|
||||||
cfgpath = malloc( j + MAX_OPTNAME_SIZE +1);
|
|
||||||
if (cfgpath == NULL) {
|
|
||||||
fprintf(stderr,"[CONFIG] %s %i malloc error, %s\n", __FILE__, __LINE__,strerror(errno));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
j = 0;
|
j = 0;
|
||||||
i = 0;
|
i = 0;
|
||||||
while (c > 0 ) {
|
while (c > 0 ) {
|
||||||
char *oneargv = strdup(config_get_if()->argv[i]); /* we use strtok_r which modifies its string paramater, and we don't want argv to be modified */
|
char *oneargv = strdup(config_get_if()->argv[i]); /* we use strtok_r which modifies its string paramater, and we don't want argv to be modified */
|
||||||
/* first check help options, either --help, -h or --help_<section> */
|
/* first check help options, either --help, -h or --help_<section> */
|
||||||
if (strncmp(oneargv, "-h",2) == 0 || strncmp(oneargv, "--help",6) == 0 ) {
|
if (strncmp(oneargv, "-h",2) == 0 || strncmp(oneargv, "--help",6) == 0 ) {
|
||||||
char *tokctx;
|
char *tokctx;
|
||||||
pp=strtok_r(oneargv, "_",&tokctx);
|
pp=strtok_r(oneargv, "_",&tokctx);
|
||||||
@@ -183,7 +174,7 @@ char *cfgpath;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* now, check for non help options */
|
/* now, check for non help options */
|
||||||
if (oneargv[0] == '-') {
|
if (oneargv[0] == '-') {
|
||||||
for(int n=0;n<numoptions;n++) {
|
for(int n=0;n<numoptions;n++) {
|
||||||
if ( ( cfgoptions[n].paramflags & PARAMFLAG_DISABLECMDLINE) != 0) {
|
if ( ( cfgoptions[n].paramflags & PARAMFLAG_DISABLECMDLINE) != 0) {
|
||||||
@@ -224,9 +215,5 @@ char *cfgpath;
|
|||||||
c--;
|
c--;
|
||||||
} /* fin du while */
|
} /* fin du while */
|
||||||
printf_cmdl("[CONFIG] %s %i options set from command line\n",((prefix == NULL) ? "(root)":prefix),j);
|
printf_cmdl("[CONFIG] %s %i options set from command line\n",((prefix == NULL) ? "(root)":prefix),j);
|
||||||
free(cfgpath);
|
|
||||||
return j;
|
return j;
|
||||||
} /* parse_cmdline*/
|
} /* parse_cmdline*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -91,8 +91,6 @@ int read_intarray(paramdef_t *cfgoptions,config_setting_t *setting, char *cfgpat
|
|||||||
|
|
||||||
int config_libconfig_get(paramdef_t *cfgoptions,int numoptions, char *prefix )
|
int config_libconfig_get(paramdef_t *cfgoptions,int numoptions, char *prefix )
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
config_setting_t *setting;
|
config_setting_t *setting;
|
||||||
char *str;
|
char *str;
|
||||||
int i,u;
|
int i,u;
|
||||||
@@ -103,15 +101,9 @@ int config_libconfig_get(paramdef_t *cfgoptions,int numoptions, char *prefix )
|
|||||||
int notfound;
|
int notfound;
|
||||||
int defval;
|
int defval;
|
||||||
int fatalerror=0;
|
int fatalerror=0;
|
||||||
char *cfgpath; /* listname.[listindex].paramname */
|
|
||||||
int numdefvals=0;
|
int numdefvals=0;
|
||||||
|
char cfgpath[512]; /* 512 should be enough for the sprintf below */
|
||||||
i = (prefix ==NULL) ? 0 : strlen(prefix);
|
|
||||||
cfgpath = malloc( i+ MAX_OPTNAME_SIZE +1);
|
|
||||||
if (cfgpath == NULL) {
|
|
||||||
fprintf(stderr,"[LIBCONFIG] %s %i malloc error, %s\n", __FILE__, __LINE__,strerror(errno));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
for(i=0;i<numoptions;i++) {
|
for(i=0;i<numoptions;i++) {
|
||||||
|
|
||||||
if (prefix != NULL) {
|
if (prefix != NULL) {
|
||||||
@@ -253,7 +245,6 @@ int config_libconfig_get(paramdef_t *cfgoptions,int numoptions, char *prefix )
|
|||||||
config_libconfig_end();
|
config_libconfig_end();
|
||||||
end_configmodule();
|
end_configmodule();
|
||||||
}
|
}
|
||||||
free(cfgpath);
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user