--- libaitcfg/src/Attic/cfgprog.c 2025/01/30 14:09:54 1.1.2.2 +++ libaitcfg/src/Attic/cfgprog.c 2025/01/30 14:34:25 1.1.2.3 @@ -23,10 +23,36 @@ Usage(const char *prog) int Get(const char *prog, int argc, char **argv) { + const char *str; + int i, ret = 0; + array_t *sec; + struct tagCfg *av; + EVERBS(1) printf("Get value for %s in scope %s from config %s\n", *argv ? *argv : "*", section, prog); - return 0; + if (*argv) { + str = cfg_getAttribute(&cfg, section, *argv); + if (str) + printf("%s=%s\n", *argv, str); + else + ret = 3; + } else { + sec = cfg_getSection(&cfg, section); + if (sec) { + for (i = 0; i < array_Size(sec) && + (av = array(sec, i, struct tagCfg*)); i++) { + if (AIT_GET_STR(&av->cfg_attr)) + printf("%s=%s\n", + AIT_GET_STR(&av->cfg_attr), + AIT_GET_STR(&av->cfg_val)); + } + array_Destroy(&sec); + } else + ret = 3; + } + + return ret; } int @@ -47,7 +73,7 @@ Set(const char *prog, int argc, char **argv) int main(int argc, char **argv) { - int ch; + int ch, ret = 0; int (*run)(const char*, int, char**) = Get; const char *prog; char *str; @@ -98,5 +124,14 @@ main(int argc, char **argv) *argv = str; } - return run(prog, argc, argv); + if (cfgLoadConfig(cfgname, &cfg)) { + printf("Error:: load config %s #%d - %s\n", + cfgname, cfg_GetErrno(), cfg_GetError()); + return 2; + } + + ret = run(prog, argc, argv); + + cfgUnloadConfig(&cfg); + return ret; }