Diff for /libelwix/example/test_index.c between versions 1.1 and 1.2

version 1.1, 2022/01/05 23:03:40 version 1.2, 2022/01/06 15:13:01
Line 0 Line 1
   #include <stdio.h>
   #include <string.h>
   #include <stdlib.h>
   #include <elwix.h>
   
   
   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;
   }

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>