projects
/
lcr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'develop'
[lcr.git]
/
gsm_conf.c
diff --git
a/gsm_conf.c
b/gsm_conf.c
index
08d49dd
..
f5af15a
100644
(file)
--- a/
gsm_conf.c
+++ b/
gsm_conf.c
@@
-12,13
+12,11
@@
#include "main.h"
#include "main.h"
-char *gsm_conf_error = (char *)"";
-
/* read options
*
* read options from options.conf
*/
/* read options
*
* read options from options.conf
*/
-int gsm_conf(struct gsm_conf *gsm_conf)
+int gsm_conf(struct gsm_conf *gsm_conf
, char *conf_error
)
{
FILE *fp=NULL;
char filename[128];
{
FILE *fp=NULL;
char filename[128];
@@
-42,15
+40,13
@@
int gsm_conf(struct gsm_conf *gsm_conf)
SPRINT(filename, "%s/gsm.conf", CONFIG_DATA);
if (!(fp=fopen(filename,"r"))) {
SPRINT(filename, "%s/gsm.conf", CONFIG_DATA);
if (!(fp=fopen(filename,"r"))) {
-
SPRINT(gsm_
conf_error, "Cannot open %s\n",filename);
+
UPRINT(
conf_error, "Cannot open %s\n",filename);
return(0);
}
line=0;
return(0);
}
line=0;
- while((
fgets(buffer,sizeof(buffer),
fp))) {
+ while((
GETLINE(buffer,
fp))) {
line++;
line++;
- buffer[sizeof(buffer)-1]=0;
- if (buffer[0]) buffer[strlen(buffer)-1]=0;
p=buffer;
while(*p <= 32) { /* skip spaces */
p=buffer;
while(*p <= 32) { /* skip spaces */
@@
-65,7
+61,7
@@
int gsm_conf(struct gsm_conf *gsm_conf)
i=0; /* read option */
while(*p > 32) {
if (i+1 >= sizeof(option)) {
i=0; /* read option */
while(*p > 32) {
if (i+1 >= sizeof(option)) {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): option too long.\n",filename,line);
+
UPRINT(
conf_error, "Error in %s (line %d): option too long.\n",filename,line);
goto error;
}
option[i+1] = '\0';
goto error;
}
option[i+1] = '\0';
@@
-84,7
+80,7
@@
int gsm_conf(struct gsm_conf *gsm_conf)
i=0; /* read param */
while(*p > 32) {
if (i+1 >= sizeof(params[pnum])) {
i=0; /* read param */
while(*p > 32) {
if (i+1 >= sizeof(params[pnum])) {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): param too long.\n",filename,line);
+
UPRINT(
conf_error, "Error in %s (line %d): param too long.\n",filename,line);
goto error;
}
params[pnum][i+1] = '\0';
goto error;
}
params[pnum][i+1] = '\0';
@@
-104,7
+100,7
@@
int gsm_conf(struct gsm_conf *gsm_conf)
/* check option */
if (!strcmp(option,"debug")) {
if (params[0][0]==0) {
/* check option */
if (!strcmp(option,"debug")) {
if (params[0][0]==0) {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line,option);
+
UPRINT(
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line,option);
goto error;
}
SCPY(gsm_conf->debug, params[0]);
goto error;
}
SCPY(gsm_conf->debug, params[0]);
@@
-112,7
+108,7
@@
int gsm_conf(struct gsm_conf *gsm_conf)
} else
if (!strcmp(option,"interface-bsc")) {
if (params[0][0]==0) {
} else
if (!strcmp(option,"interface-bsc")) {
if (params[0][0]==0) {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
+
UPRINT(
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
goto error;
}
SCPY(gsm_conf->interface_bsc, params[0]);
goto error;
}
SCPY(gsm_conf->interface_bsc, params[0]);
@@
-120,7
+116,7
@@
int gsm_conf(struct gsm_conf *gsm_conf)
} else
if (!strcmp(option,"interface-lcr")) {
if (params[0][0]==0) {
} else
if (!strcmp(option,"interface-lcr")) {
if (params[0][0]==0) {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
+
UPRINT(
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
goto error;
}
SCPY(gsm_conf->interface_lcr, params[0]);
goto error;
}
SCPY(gsm_conf->interface_lcr, params[0]);
@@
-128,7
+124,7
@@
int gsm_conf(struct gsm_conf *gsm_conf)
} else
if (!strcmp(option,"config")) {
if (params[0][0]==0) {
} else
if (!strcmp(option,"config")) {
if (params[0][0]==0) {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
+
UPRINT(
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
goto error;
}
SCPY(gsm_conf->openbsc_cfg, params[0]);
goto error;
}
SCPY(gsm_conf->openbsc_cfg, params[0]);
@@
-136,19
+132,15
@@
int gsm_conf(struct gsm_conf *gsm_conf)
} else
if (!strcmp(option,"hlr")) {
if (params[0][0]==0) {
} else
if (!strcmp(option,"hlr")) {
if (params[0][0]==0) {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
+
UPRINT(
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
goto error;
}
SCPY(gsm_conf->hlr, params[0]);
} else
if (!strcmp(option,"reject-cause")) {
goto error;
}
SCPY(gsm_conf->hlr, params[0]);
} else
if (!strcmp(option,"reject-cause")) {
- if (params[0][0]==0) {
- SPRINT(gsm_conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
- goto error;
- }
- gsm_conf->reject_cause = atoi(params[0]);
-
+ UPRINT(conf_error, "Option '%s' in gsm.conf has moved to openbsc.cfg", option);
+ goto error;
} else
if (!strcmp(option,"allow-all")) {
gsm_conf->allow_all = 1;
} else
if (!strcmp(option,"allow-all")) {
gsm_conf->allow_all = 1;
@@
-162,12
+154,12
@@
int gsm_conf(struct gsm_conf *gsm_conf)
} else
if (!strcmp(option,"pcapfile")) {
if (params[0][0]==0) {
} else
if (!strcmp(option,"pcapfile")) {
if (params[0][0]==0) {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
+
UPRINT(
conf_error, "Error in %s (line %d): parameter for option %s missing.\n",filename,line, option);
goto error;
}
SCPY(gsm_conf->pcapfile, params[0]);
} else {
goto error;
}
SCPY(gsm_conf->pcapfile, params[0]);
} else {
-
SPRINT(gsm_
conf_error, "Error in %s (line %d): wrong option keyword %s.\n", filename,line,option);
+
UPRINT(
conf_error, "Error in %s (line %d): wrong option keyword %s.\n", filename,line,option);
goto error;
}
}
goto error;
}
}