|
|
| version 1.14.4.3, 2014/03/19 17:44:48 | version 1.16, 2014/04/14 19:58:21 |
|---|---|
| Line 97 cfg_getSection(cfg_root_t * __restrict cfg, const char | Line 97 cfg_getSection(cfg_root_t * __restrict cfg, const char |
| return NULL; | return NULL; |
| } else | } else |
| memset(&fav, 0, sizeof fav); | memset(&fav, 0, sizeof fav); |
| if (csSec && !*csSec) | |
| csSec = NULL; | |
| if (csSec && *csSec) | if (csSec && *csSec) |
| AIT_KEY(&fav.cfg_sec) = crcFletcher16((u_short*) csSec, | AIT_KEY(&fav.cfg_sec) = crcFletcher16((u_short*) csSec, |
| Line 105 cfg_getSection(cfg_root_t * __restrict cfg, const char | Line 107 cfg_getSection(cfg_root_t * __restrict cfg, const char |
| av = RB_NFIND(tagRC, cfg, &fav); | av = RB_NFIND(tagRC, cfg, &fav); |
| if (!av) | if (!av) |
| return NULL; | return NULL; |
| if (strcmp(AIT_GET_STR(&av->cfg_sec), csSec)) | if (csSec) { |
| return NULL; | if (AIT_ISEMPTY(&av->cfg_sec) || strcmp(AIT_GET_STR(&av->cfg_sec), csSec)) |
| return NULL; | |
| } else { | |
| if (!AIT_ISEMPTY(&av->cfg_sec)) | |
| return NULL; | |
| } | |
| arr = array_Init(1); | arr = array_Init(1); |
| if (!arr) { | if (!arr) { |
| Line 115 cfg_getSection(cfg_root_t * __restrict cfg, const char | Line 122 cfg_getSection(cfg_root_t * __restrict cfg, const char |
| } else | } else |
| array_Push(arr, av, 0); | array_Push(arr, av, 0); |
| while ((av = RB_NEXT(tagRC, cfg, av)) && av && !AIT_ISEMPTY(&av->cfg_sec) && | while ((av = RB_NEXT(tagRC, cfg, av)) && av) { |
| !strcmp(AIT_GET_STR(&av->cfg_sec), csSec)) | if (csSec) { |
| if (AIT_ISEMPTY(&av->cfg_sec) || strcmp(AIT_GET_STR(&av->cfg_sec), csSec)) | |
| break; | |
| } else { | |
| if (!AIT_ISEMPTY(&av->cfg_sec)) | |
| break; | |
| } | |
| array_Push(arr, av, 0); | array_Push(arr, av, 0); |
| } | |
| return arr; | return arr; |
| } | } |
| Line 276 cfg_getAttribute(cfg_root_t * __restrict cfg, const ch | Line 291 cfg_getAttribute(cfg_root_t * __restrict cfg, const ch |
| return NULL; | return NULL; |
| return AIT_GET_STR(&av->cfg_val); | return AIT_GET_STR(&av->cfg_val); |
| } | |
| /* | |
| * cfg_getAttributeLong() - Get item as long from config and return value from it | |
| * | |
| * @cfg = Config root | |
| * @csSec = Config section //[{csSec}], if NULL unset in *default* section | |
| * @csAttr = Config attribute //{csAttr} = ..., if NULL as *any* attribute | |
| * return: value | |
| */ | |
| long | |
| cfg_getAttributeLong(cfg_root_t * __restrict cfg, const char *csSec, const char *csAttr) | |
| { | |
| const char *str = NULL; | |
| str = cfg_getAttribute(cfg, csSec, csAttr); | |
| return strtol(str ? str : "", NULL, 0); | |
| } | |
| /* | |
| * cfg_getAttributeLLong() - Get item as long long from config and return value from it | |
| * | |
| * @cfg = Config root | |
| * @csSec = Config section //[{csSec}], if NULL unset in *default* section | |
| * @csAttr = Config attribute //{csAttr} = ..., if NULL as *any* attribute | |
| * return: value | |
| */ | |
| long long | |
| cfg_getAttributeLLong(cfg_root_t * __restrict cfg, const char *csSec, const char *csAttr) | |
| { | |
| const char *str = NULL; | |
| str = cfg_getAttribute(cfg, csSec, csAttr); | |
| return strtoll(str ? str : "", NULL, 0); | |
| } | |
| /* | |
| * cfg_getAttributeDouble() - Get item as double from config and return value from it | |
| * | |
| * @cfg = Config root | |
| * @csSec = Config section //[{csSec}], if NULL unset in *default* section | |
| * @csAttr = Config attribute //{csAttr} = ..., if NULL as *any* attribute | |
| * return: value | |
| */ | |
| double | |
| cfg_getAttributeDouble(cfg_root_t * __restrict cfg, const char *csSec, const char *csAttr) | |
| { | |
| const char *str = NULL; | |
| str = cfg_getAttribute(cfg, csSec, csAttr); | |
| return strtod(str ? str : "", NULL); | |
| } | |
| /* | |
| * cfg_getAttributeLDouble() - Get item as long double from config and return value from it | |
| * | |
| * @cfg = Config root | |
| * @csSec = Config section //[{csSec}], if NULL unset in *default* section | |
| * @csAttr = Config attribute //{csAttr} = ..., if NULL as *any* attribute | |
| * return: value | |
| */ | |
| long double | |
| cfg_getAttributeLDouble(cfg_root_t * __restrict cfg, const char *csSec, const char *csAttr) | |
| { | |
| const char *str = NULL; | |
| str = cfg_getAttribute(cfg, csSec, csAttr); | |
| return strtold(str ? str : "", NULL); | |
| } | } |
| /* | /* |