version 1.9, 2012/07/25 15:24:20
|
version 1.9.4.1, 2012/08/06 14:52:51
|
Line 49 SUCH DAMAGE.
|
Line 49 SUCH DAMAGE.
|
static inline struct tagCfg * |
static inline struct tagCfg * |
_selectAttribute(cfg_root_t * __restrict cfg, const char *csSec, const char *csAttr) |
_selectAttribute(cfg_root_t * __restrict cfg, const char *csSec, const char *csAttr) |
{ |
{ |
struct tagCfg fav; | struct tagCfg fav, *c; |
|
|
if (!cfg) |
if (!cfg) |
return NULL; |
return NULL; |
Line 65 _selectAttribute(cfg_root_t * __restrict cfg, const ch
|
Line 65 _selectAttribute(cfg_root_t * __restrict cfg, const ch
|
|
|
if (!csAttr) |
if (!csAttr) |
return RB_NFIND(tagRC, cfg, &fav); |
return RB_NFIND(tagRC, cfg, &fav); |
else | else { |
return RB_FIND(tagRC, cfg, &fav); | c = RB_FIND(tagRC, cfg, &fav); |
| if (!c) |
| return NULL; /* not found */ |
| do { |
| if (!strcmp(AIT_GET_STR(&c->cfg_attr), csAttr)) |
| return c; /* FOUND! */ |
| } while (RB_NEXT(tagRC, cfg, c) && !cfg_tree_cmp(c, &fav)); |
| return NULL; /* not found */ |
| } |
} |
} |
|
|
/* --------------------------------------------------------------- */ |
/* --------------------------------------------------------------- */ |
Line 192 cfg_setAttribute(cfg_root_t * __restrict cfg, const ch
|
Line 200 cfg_setAttribute(cfg_root_t * __restrict cfg, const ch
|
return 2; |
return 2; |
} |
} |
|
|
if (csVal && strcmp((char*) csVal, (char*) AIT_GET_STR(&av->cfg_val))) { | if (csVal && AIT_ADDR(&av->cfg_val) && |
| strcmp((char*) csVal, (char*) AIT_GET_STR(&av->cfg_val))) { |
/* Update element */ |
/* Update element */ |
AIT_FREE_VAL(&av->cfg_val); |
AIT_FREE_VAL(&av->cfg_val); |
AIT_SET_STR(&av->cfg_val, csVal); |
AIT_SET_STR(&av->cfg_val, csVal); |
Line 260 cfg_loadAttribute(cfg_root_t * __restrict cfg, const c
|
Line 269 cfg_loadAttribute(cfg_root_t * __restrict cfg, const c
|
return ret; |
return ret; |
} |
} |
|
|
if (AIT_ISEMPTY(&av->cfg_val) || !*AIT_GET_LIKE(&av->cfg_val, char*)) { | if (AIT_ISEMPTY(&av->cfg_val) || !AIT_ADDR(&av->cfg_val) || |
| !*AIT_GET_LIKE(&av->cfg_val, char*)) { |
/* empty value */ |
/* empty value */ |
if (csDefValue) { |
if (csDefValue) { |
AIT_SET_STR(val, csDefValue); |
AIT_SET_STR(val, csDefValue); |