#include #include #include #include int main(int argc, char **argv) { index_t *idx; index_list_t lst; int i; u_short k; array_t *arr; char str[256]; ait_val_t *v; if (!(idx = index_Init(NULL))) return 1; for (i = 0; i < argc; i++) { k = crcFletcher16((u_short*) argv[i], strlen(argv[i]) / 2); index_add(idx, k, argv[i], strlen(argv[i]), NULL); } index_dump(idx); printf("input key="); scanf("%hu", &k); arr = index_getArray(idx, k); if (!arr) printf("error in array!!!\n"); else { for (i = 0; i < array_Size(arr); i++) { lst = array_Get(arr, i); printf("Array[%d]: hash=0x%x ptr=%s len=%lu\n", i, index_Hash(lst), (const char*) index_Ptr(lst), index_Len(lst)); } array_Destroy(&arr); } lst = index_getList(idx, k); if (!lst) printf("Key list is empty!\n"); else while (lst) { printf("GetList[%hu]:: hash=0x%x ptr=%s len=%lu\n", k, index_Hash(lst), (const char*) index_Ptr(lst), index_Len(lst)); lst = index_Next(lst); } printf("input key="); scanf("%hu", &k); memset(str, 0, sizeof str); printf("input hash="); scanf("%255s", str); i = strtol(str, NULL, 0); lst = index_get2(idx, k, i); v = index_getVar(idx, k, i); if (!lst) printf("Item not found!!!\n"); else printf("Get2:: hash=0x%x ptr=%s len=%lu\n", index_Hash(lst), (const char*) index_Ptr(lst), index_Len(lst)); if (!v) printf("Item not found!!!\n"); else { printf("GetVar:: ptr=%s len=%u\n", (const char*) AIT_GET_PTR(v), AIT_LEN(v)); ait_freeVar(&v); } printf("delete key="); scanf("%hu", &k); index_delList(idx, k); index_dump(idx); printf("delete key="); scanf("%hu", &k); memset(str, 0, sizeof str); printf("input str="); scanf("%255s", str); index_del(idx, k, str, strlen(str)); index_dump(idx); printf("delete key="); scanf("%hu", &k); memset(str, 0, sizeof str); printf("input hash="); scanf("%255s", str); i = strtol(str, NULL, 0); index_del2(idx, k, i); index_dump(idx); index_Destroy(&idx); return 0; }