53 lines
1.6 KiB
Diff
53 lines
1.6 KiB
Diff
--- dcbd-0.9.15/config.c.old 2009-10-02 15:38:53.213693022 -0700
|
|
+++ dcbd-0.9.15/config.c 2009-10-02 15:39:30.135703553 -0700
|
|
@@ -70,6 +70,8 @@ int init_cfg(void)
|
|
if (cfg_loaded == TRUE)
|
|
return CONFIG_OK;
|
|
|
|
+ config_init(&dcb_cfg);
|
|
+
|
|
if (!config_read_file(&dcb_cfg, cfg_file_name)) {
|
|
TRACE("config file failed to load\n")
|
|
TRACE2("error: ", config_error_text(&dcb_cfg))
|
|
@@ -358,16 +360,15 @@ static dcb_result _set_persistent(char *
|
|
config_setting_t *setting_traffic = NULL;
|
|
config_setting_t *setting_value = NULL;
|
|
char abuf[2*DCB_MAX_TLV_LENGTH + 1];
|
|
- char version[MAX_NAME_LEN];
|
|
+ char *p;
|
|
int result, i;
|
|
|
|
if (!init_cfg())
|
|
goto set_error;
|
|
|
|
/* Read config file version */
|
|
- strcpy(version, config_lookup_string(&dcb_cfg, "version"));
|
|
- if(NULL != version) {
|
|
- result = strcmp(version, VERSION);
|
|
+ if (config_lookup_string(&dcb_cfg, "version", (const char **)&p)) {
|
|
+ result = strcmp(p, VERSION);
|
|
if (result) {
|
|
if (result < 0) {
|
|
/* need to create a new upgraded cfg file */
|
|
@@ -942,17 +943,15 @@ dcb_result get_persistent(char *device_n
|
|
config_setting_t *setting_value = NULL;
|
|
int result = dcb_failed, i;
|
|
int results[MAX_USER_PRIORITIES];
|
|
- char version[MAX_NAME_LEN];
|
|
+ char *p;
|
|
int len;
|
|
char abuf[32];
|
|
|
|
memset(attribs, 0, sizeof(*attribs));
|
|
|
|
/* Read config file version */
|
|
- strcpy(version, config_lookup_string(&dcb_cfg, "version"));
|
|
-
|
|
- if(NULL != version) {
|
|
- result = strcmp(version, VERSION);
|
|
+ if (config_lookup_string(&dcb_cfg, "version", (const char **)&p)) {
|
|
+ result = strcmp(p, VERSION);
|
|
if (result) {
|
|
if (result < 0) {
|
|
/* need to create a new upgraded cfg file */
|