Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts: common/config/config_userapi.h openair2/ENB_APP/enb_config.c targets/RT/USER/lte-softmodem.c
This commit is contained in:
@@ -37,27 +37,31 @@
|
||||
|
||||
int processoption(paramdef_t *cfgoptions, char *value)
|
||||
{
|
||||
int optisset=0;
|
||||
int noarg=0;
|
||||
if ((cfgoptions->paramflags &PARAMFLAG_BOOL) == 0) {
|
||||
if (value == NULL) {
|
||||
noarg=1;
|
||||
} else if ( value[0] == '-') {
|
||||
noarg = 1;
|
||||
}
|
||||
if (noarg == 1) {
|
||||
int argok=1;
|
||||
char *tmpval = value;
|
||||
int optisset;
|
||||
char defbool[2]="1";
|
||||
if (value == NULL) {
|
||||
argok=0;
|
||||
} else if ( value[0] == '-') {
|
||||
argok = 0;
|
||||
}
|
||||
if ((cfgoptions->paramflags &PARAMFLAG_BOOL) == 0) { /* not a boolean, argument required */
|
||||
if (argok == 0) {
|
||||
fprintf(stderr,"[CONFIG] command line, option %s requires an argument\n",cfgoptions->optname);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} else { /* boolean value */
|
||||
tmpval = defbool;
|
||||
}
|
||||
printf("cc 0x%08x, %i\n",tmpval,argok);
|
||||
switch(cfgoptions->type)
|
||||
{
|
||||
case TYPE_STRING:
|
||||
config_check_valptr(cfgoptions, (char **)(cfgoptions->strptr), sizeof(char *));
|
||||
config_check_valptr(cfgoptions, cfgoptions->strptr, strlen(value+1));
|
||||
sprintf(*(cfgoptions->strptr), "%s",value);
|
||||
printf_cmdl("[CONFIG] %s set to %s from command line\n", cfgoptions->optname, value);
|
||||
config_check_valptr(cfgoptions, cfgoptions->strptr, strlen(tmpval+1));
|
||||
sprintf(*(cfgoptions->strptr), "%s",tmpval);
|
||||
printf_cmdl("[CONFIG] %s set to %s from command line\n", cfgoptions->optname, tmpval);
|
||||
optisset=1;
|
||||
break;
|
||||
|
||||
@@ -70,13 +74,13 @@ int noarg=0;
|
||||
case TYPE_UINT8:
|
||||
case TYPE_INT8:
|
||||
config_check_valptr(cfgoptions, (char **)&(cfgoptions->iptr),sizeof(int32_t));
|
||||
config_assign_int(cfgoptions,cfgoptions->optname,(int32_t)strtol(value,NULL,0));
|
||||
config_assign_int(cfgoptions,cfgoptions->optname,(int32_t)strtol(tmpval,NULL,0));
|
||||
optisset=1;
|
||||
break;
|
||||
case TYPE_UINT64:
|
||||
case TYPE_INT64:
|
||||
config_check_valptr(cfgoptions, (char **)&(cfgoptions->i64ptr),sizeof(uint64_t));
|
||||
*(cfgoptions->i64ptr)=strtoll(value,NULL,0);
|
||||
*(cfgoptions->i64ptr)=strtoll(tmpval,NULL,0);
|
||||
printf_cmdl("[CONFIG] %s set to %lli from command line\n", cfgoptions->optname, (long long)*(cfgoptions->i64ptr));
|
||||
optisset=1;
|
||||
break;
|
||||
@@ -86,7 +90,7 @@ int noarg=0;
|
||||
break;
|
||||
case TYPE_DOUBLE:
|
||||
config_check_valptr(cfgoptions, (char **)&(cfgoptions->dblptr),sizeof(double));
|
||||
*(cfgoptions->dblptr) = strtof(value,NULL);
|
||||
*(cfgoptions->dblptr) = strtof(tmpval,NULL);
|
||||
printf_cmdl("[CONFIG] %s set to %lf from command line\n", cfgoptions->optname, *(cfgoptions->dblptr));
|
||||
optisset=1;
|
||||
break;
|
||||
@@ -103,7 +107,7 @@ int noarg=0;
|
||||
cfgoptions->paramflags = cfgoptions->paramflags | PARAMFLAG_PARAMSET;
|
||||
}
|
||||
|
||||
return optisset;
|
||||
return argok;
|
||||
}
|
||||
|
||||
int config_process_cmdline(paramdef_t *cfgoptions,int numoptions, char *prefix)
|
||||
@@ -123,7 +127,7 @@ char *cfgpath;
|
||||
j=0;
|
||||
p++;
|
||||
c--;
|
||||
while (c >= 0 && *p != NULL) {
|
||||
while (c > 0 && *p != NULL) {
|
||||
if (strcmp(*p, "-h") == 0 || strcmp(*p, "--help") == 0 ) {
|
||||
config_printhelp(cfgoptions,numoptions);
|
||||
}
|
||||
@@ -138,9 +142,19 @@ char *cfgpath;
|
||||
}
|
||||
if ( ((strlen(*p) == 2) && (strcmp(*p + 1,cfgpath) == 0)) ||
|
||||
((strlen(*p) > 2) && (strcmp(*p + 2,cfgpath ) == 0 )) ) {
|
||||
p++;
|
||||
j =+ processoption(&(cfgoptions[i]), *p);
|
||||
c--;
|
||||
|
||||
if (c > 1) {
|
||||
p++;
|
||||
c--;
|
||||
j = processoption(&(cfgoptions[i]), *p);
|
||||
if ( j== 0) {
|
||||
c++;
|
||||
p--;
|
||||
}
|
||||
} else {
|
||||
j = processoption(&(cfgoptions[i]), NULL);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
p++;
|
||||
|
||||
@@ -139,11 +139,10 @@ int i;
|
||||
modeparams = strdup("oaisoftmodem.conf");
|
||||
}
|
||||
else if ( i == 1 ) {
|
||||
/* -O argument doesn't contain ":" separator, legacy -O <conf file> option, default cfgmode to libconfig
|
||||
/* -O argument doesn't contain ":" separator, assume -O <conf file> option, default cfgmode to libconfig
|
||||
with one parameter, the path to the configuration file */
|
||||
modeparams=cfgmode;
|
||||
cfgmode=strdup("libconfig");
|
||||
tmpflags = tmpflags | CONFIG_LEGACY;/* temporary, legacy mode */
|
||||
}
|
||||
|
||||
cfgptr = malloc(sizeof(configmodule_interface_t));
|
||||
|
||||
@@ -46,8 +46,7 @@
|
||||
#define CONFIG_DEBUGCMDLINE 4 // print command line processing messages
|
||||
#define CONFIG_HELP 8 // print help message
|
||||
#define CONFIG_ABORT 16 // config failed,abort execution
|
||||
/* temporary flag to be able to use legacy config mechanism */
|
||||
#define CONFIG_LEGACY (1 << 10)
|
||||
|
||||
|
||||
typedef int(*configmodule_initfunc_t)(char *cfgP[],int numP);
|
||||
typedef int(*configmodule_getfunc_t)(paramdef_t *,int numparams, char *prefix);
|
||||
|
||||
@@ -54,7 +54,6 @@ extern int config_process_cmdline(paramdef_t *cfgoptions,int numoptions, char *p
|
||||
#define config_getlist config_get_if()->getlist
|
||||
#define CONFIG_GETCONFFILE (config_get_if()->cfgP[0])
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user