--- libaitcfg/example/test.c 2012/04/02 16:12:39 1.1.2.7 +++ libaitcfg/example/test.c 2014/03/19 17:44:48 1.4.8.4 @@ -2,15 +2,27 @@ #include #include + int main() { - cfg_root_t lst, tmp; + cfg_root_t lst, *tmp; 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")); @@ -36,39 +48,71 @@ int main() printf("Str=%s\n", AIT_GET_STR(&v)); AIT_FREE_VAL(&v); - printf("GetAttribute value=%s\n", cfg_getAttribute(&lst, "section1", "attrtest")); + 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("1) ---------------------------------\n"); + printf("size lst=%d tmp=%d %d\n", sizeof lst, sizeof tmp, sizeof(pthread_mutex_t)); + + 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")); + #if 0 - InitConfig(&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")); - InitConfig(&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("tmp: SetAttribute=%d\n", cfg_SetAttribute(&lst, "bzyt", "111", "99999")); + 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")); - WriteConfig(stdout, &tmp); - WriteConfig(stdout, &lst); - printf("---------------------------------\n"); - printf("%d\n---------------------------------\n", MergeConfig(&lst, &tmp)); - WriteConfig(stdout, &lst); -// printf("%d\n---------------------------------\n", ConcatConfig(&lst, &tmp)); -// WriteConfig(stdout, &lst); - printf("%d\n---------------------------------\n", ConcatConfig(&lst, &tmp)); - WriteConfig(stdout, &lst); + cfgWriteConfig(stdout, &tmp, 0); + cfgWriteConfig(stdout, &lst, 1); + printf("2) ---------------------------------\n"); - printf("CreateConfig=%d\n", CreateConfig("test4e.cfg", &lst)); - printf("errno=%d error=%s\n", cfg_GetErrno(), cfg_GetError()); +#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); +#else + cfgUnloadConfig(&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")); + +#ifndef SKIP_TEST_MERGE + printf("before_merge ---------------------------------\n"); + cfgWriteConfig(stdout, &lst, 1); + printf("after_merge=%d ---------------------------------\n", cfgMergeConfig(&lst, &tmp)); + cfgWriteConfig(stdout, &lst, 1); +#else + cfgUnloadConfig(&tmp); +#endif + + printf("CreateConfig=%d\n", cfgCreateConfig("test4e.cfg", &lst, 1)); + printf("errno=%d error=%s\n", cfg_GetErrno(), cfg_GetError()); + + cfgUnloadConfig(&tmp); cfgUnloadConfig(&lst); +#endif + cfgUnloadConfig(tmp); return 0; }