--- libaitcfg/example/test.c 2013/08/22 15:24:36 1.4 +++ libaitcfg/example/test.c 2014/03/19 18:38:43 1.5 @@ -5,13 +5,24 @@ int main() { - cfg_root_t lst, tmp; + cfg_root_t lst, *tmp, *tmp2; char szStr[256]; struct tagCfg *av; ait_val_t v; + array_t *arr; + register int i; printf("LoadConfig=%d\n", cfgLoadConfig("test.conf", &lst)); printf("errno=%d error=%s\n", cfg_GetErrno(), cfg_GetError()); + + arr = cfg_getSection(&lst, "global"); + printf("arr=%p size=%d\n", arr, array_Size(arr)); + + for (i = 0; i < array_Size(arr); i++) + printf("%s\\%s=%s\n", CFG_SECTION(array_Get(arr, i)), CFG_ATTRIBUTE(array_Get(arr, i)), CFG_VALUE(array_Get(arr, i))); + array_Destroy(&arr); + + printf("0) ---------------------------------\n"); printf("Find Attribute at position=%d\n", cfg_findAttribute(&lst, NULL, "testattr")); printf("GetAttribute value=%s\n", cfg_getAttribute(&lst, "", "testattr")); printf("GetAttribute value=%s\n", cfg_getAttribute(&lst, "global", "attr2")); @@ -40,65 +51,86 @@ int main() printf("GetAttribute multi-lines value=%s\n", cfg_getAttribute(&lst, "section1", "attrtest")); printf("GetAttribute multi-lines w/o \\ value=%s\n", cfg_getAttribute(&lst, "section1", "attrtest_1")); cfgUnloadConfig(&lst); - printf("0) ---------------------------------\n"); + printf("1) ---------------------------------\n"); printf("size lst=%d tmp=%d %d\n", sizeof lst, sizeof tmp, sizeof(pthread_mutex_t)); - cfgInitConfig(&tmp); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "global", "piuk", "BLAHzdf")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "bzyt", "00", "99999 sdfbj")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "global", "gniah", "tiiidfsdfsfsiiii")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, NULL, "att", "0001122777777555")); + tmp = cfgInitConfig(); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "global", "piuk", "BLAHzdf")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "bzyt", "00", "99999 sdfbj")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "global", "gniah", "tiiidfsdfsfsiiii")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, NULL, "att", "0001122777777555")); - cfgInitConfig(&lst); - printf("SetAttribute=%d\n", cfg_setAttribute(&lst, NULL, "zzz", "ZZZ")); - printf("SetAttribute=%d\n", cfg_setAttribute(&lst, NULL, "att", "0001122222222222")); - printf("SetAttribute=%d\n", cfg_setAttribute(&lst, "global", "att", "0001122222222222")); - printf("SetAttribute=%d\n", cfg_setAttribute(&lst, "global", "attr2", "1111111122222222222")); - printf("GetAttribute value=%s\n", cfg_getAttribute(&lst, "global", "attr2")); - printf("UnsetAttribute=%d\n", cfg_unsetAttribute(&lst, "global", "a")); - printf("UnsetAttribute=%d\n", cfg_unsetAttribute(&lst, "global", "")); - printf("UnsetAttribute=%d\n", cfg_unsetAttribute(&lst, NULL, "att")); - printf("UnsetAttribute=%d\n", cfg_unsetAttribute(&lst, "global", "attr2")); - printf("SetAttribute=%d\n", cfg_setAttribute(&lst, "bzyt", "111", "99999")); + tmp2 = cfgInitConfig(); + printf("SetAttribute=%d\n", cfg_setAttribute(tmp2, NULL, "zzz", "ZZZ")); + printf("SetAttribute=%d\n", cfg_setAttribute(tmp2, NULL, "att", "0001122222222222")); + printf("SetAttribute=%d\n", cfg_setAttribute(tmp2, "global", "att", "0001122222222222")); + printf("SetAttribute=%d\n", cfg_setAttribute(tmp2, "global", "attr2", "1111111122222222222")); + printf("GetAttribute value=%s\n", cfg_getAttribute(tmp2, "global", "attr2")); + printf("UnsetAttribute=%d\n", cfg_unsetAttribute(tmp2, "global", "a")); + printf("UnsetAttribute=%d\n", cfg_unsetAttribute(tmp2, "global", "")); + printf("UnsetAttribute=%d\n", cfg_unsetAttribute(tmp2, NULL, "att")); + printf("UnsetAttribute=%d\n", cfg_unsetAttribute(tmp2, "global", "attr2")); + printf("SetAttribute=%d\n", cfg_setAttribute(tmp2, "bzyt", "111", "99999")); - cfgWriteConfig(stdout, &tmp, 0); - cfgWriteConfig(stdout, &lst, 1); - printf("1) ---------------------------------\n"); + cfgWriteConfig(stdout, tmp, 0); + cfgWriteConfig(stdout, tmp2, 1); + printf("2) ---------------------------------\n"); #ifndef SKIP_TEST_CONCAT - printf("concat=%d\n---------------------------------\n", cfgConcatConfig(&lst, &tmp)); - cfgWriteConfig(stdout, &lst, 0); - printf("concat=%d\n---------------------------------\n", cfgConcatConfig(&lst, &tmp)); - cfgWriteConfig(stdout, &lst, 1); + printf("concat=%d\n---------------------------------\n", cfgConcatConfig(tmp2, tmp)); + cfgWriteConfig(stdout, tmp2, 0); + printf("concat=%d\n---------------------------------\n", cfgConcatConfig(tmp2, tmp)); + cfgWriteConfig(stdout, tmp2, 1); #else - cfgUnloadConfig(&tmp); + cfgEndConfig(&tmp); #endif - cfgInitConfig(&tmp); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "global", "piuk", "blahz")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "bzyt", "00", "99999")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "global", "gniah", "tiiiiiii")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, NULL, "att", "0001122777777")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "gruh", "shmink", "ohoboho")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "gruh", "shmink", "ohoboho1")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "gruh", "shmink", "ohoboho2")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "global", "piuk", "blahz1")); - printf("tmp: SetAttribute=%d\n", cfg_setAttribute(&tmp, "global", "piuk", "blahz2")); + tmp = cfgInitConfig(); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "global", "piuk", "blahz")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "bzyt", "00", "99999")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "global", "gniah", "tiiiiiii")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, NULL, "att", "0001122777777")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "gruh", "shmink", "ohoboho")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "gruh", "shmink", "ohoboho1")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "gruh", "shmink", "ohoboho2")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "global", "piuk", "blahz1")); + printf("tmp: SetAttribute=%d\n", cfg_setAttribute(tmp, "global", "piuk", "blahz2")); #ifndef SKIP_TEST_MERGE printf("before_merge ---------------------------------\n"); - cfgWriteConfig(stdout, &lst, 1); - printf("after_merge=%d ---------------------------------\n", cfgMergeConfig(&lst, &tmp)); - cfgWriteConfig(stdout, &lst, 1); + cfgWriteConfig(stdout, tmp2, 1); + printf("after_merge=%d ---------------------------------\n", cfgMergeConfig(tmp2, tmp)); + cfgWriteConfig(stdout, tmp2, 1); #else - cfgUnloadConfig(&tmp); + cfgEndConfig(&tmp); #endif - printf("CreateConfig=%d\n", cfgCreateConfig("test4e.cfg", &lst, 1)); + arr = cfg_getSection(tmp2, ""); + printf("arr=%p size=%d\n", arr, array_Size(arr)); + + for (i = 0; i < array_Size(arr); i++) + printf("%s\\%s=%s\n", CFG_SECTION(array_Get(arr, i)), CFG_ATTRIBUTE(array_Get(arr, i)), CFG_VALUE(array_Get(arr, i))); + array_Destroy(&arr); + + arr = cfg_getSection(tmp2, "global"); + printf("arr=%p size=%d\n", arr, array_Size(arr)); + + for (i = 0; i < array_Size(arr); i++) + printf("%s\\%s=%s\n", CFG_SECTION(array_Get(arr, i)), CFG_ATTRIBUTE(array_Get(arr, i)), CFG_VALUE(array_Get(arr, i))); + array_Destroy(&arr); + + arr = cfg_getSection(tmp2, NULL); + printf("arr=%p size=%d\n", arr, array_Size(arr)); + + for (i = 0; i < array_Size(arr); i++) + printf("%s\\%s=%s\n", CFG_SECTION(array_Get(arr, i)), CFG_ATTRIBUTE(array_Get(arr, i)), CFG_VALUE(array_Get(arr, i))); + array_Destroy(&arr); + + printf("CreateConfig=%d\n", cfgCreateConfig("test4e.cfg", tmp2, 1)); printf("errno=%d error=%s\n", cfg_GetErrno(), cfg_GetError()); - cfgUnloadConfig(&tmp); - cfgUnloadConfig(&lst); + cfgEndConfig(&tmp); + cfgEndConfig(&tmp2); return 0; }