File:
[ELWIX - Embedded LightWeight unIX -] /
libelwix /
example /
test_index.c
Revision
1.2:
download - view:
text,
annotated -
select for diffs -
revision graph
Thu Jan 6 15:13:01 2022 UTC (3 years, 1 month ago) by
misho
Branches:
MAIN
CVS tags:
elwix6_7,
elwix6_6,
elwix6_5,
elwix6_4,
elwix6_3,
elwix6_2,
elwix6_1,
elwix5_9,
elwix5_8,
elwix5_7,
elwix5_6,
elwix5_5,
elwix5_4,
elwix5_3,
elwix5_2,
elwix5_12,
elwix5_11,
elwix5_10,
elwix5_1,
HEAD,
ELWIX6_6,
ELWIX6_5,
ELWIX6_4,
ELWIX6_2,
ELWIX6_1,
ELWIX6_0,
ELWIX5_9,
ELWIX5_8,
ELWIX5_7,
ELWIX5_6,
ELWIX5_5,
ELWIX5_4,
ELWIX5_3,
ELWIX5_2,
ELWIX5_11,
ELWIX5_10,
ELWIX5_1,
ELWIX5_0
Version 5.0
1: #include <stdio.h>
2: #include <string.h>
3: #include <stdlib.h>
4: #include <elwix.h>
5:
6:
7: int
8: main(int argc, char **argv)
9: {
10: index_t *idx;
11: index_list_t lst;
12: int i;
13: u_short k;
14: array_t *arr;
15: char str[256];
16: ait_val_t *v;
17:
18: if (!(idx = index_Init(NULL)))
19: return 1;
20:
21: for (i = 0; i < argc; i++) {
22: k = crcFletcher16((u_short*) argv[i], strlen(argv[i]) / 2);
23: index_add(idx, k, argv[i], strlen(argv[i]), NULL);
24: }
25:
26: index_dump(idx);
27:
28: printf("input key=");
29: scanf("%hu", &k);
30: arr = index_getArray(idx, k);
31: if (!arr)
32: printf("error in array!!!\n");
33: else {
34: for (i = 0; i < array_Size(arr); i++) {
35: lst = array_Get(arr, i);
36: printf("Array[%d]: hash=0x%x ptr=%s len=%lu\n", i,
37: index_Hash(lst), (const char*) index_Ptr(lst), index_Len(lst));
38: }
39: array_Destroy(&arr);
40: }
41:
42: lst = index_getList(idx, k);
43: if (!lst)
44: printf("Key list is empty!\n");
45: else
46: while (lst) {
47: printf("GetList[%hu]:: hash=0x%x ptr=%s len=%lu\n", k,
48: index_Hash(lst), (const char*) index_Ptr(lst), index_Len(lst));
49: lst = index_Next(lst);
50: }
51:
52: printf("input key=");
53: scanf("%hu", &k);
54: memset(str, 0, sizeof str);
55: printf("input hash=");
56: scanf("%255s", str);
57: i = strtol(str, NULL, 0);
58: lst = index_get2(idx, k, i);
59: v = index_getVar(idx, k, i);
60: if (!lst)
61: printf("Item not found!!!\n");
62: else
63: printf("Get2:: hash=0x%x ptr=%s len=%lu\n",
64: index_Hash(lst), (const char*) index_Ptr(lst), index_Len(lst));
65: if (!v)
66: printf("Item not found!!!\n");
67: else {
68: printf("GetVar:: ptr=%s len=%u\n",
69: (const char*) AIT_GET_PTR(v), AIT_LEN(v));
70: ait_freeVar(&v);
71: }
72:
73: printf("delete key=");
74: scanf("%hu", &k);
75: index_delList(idx, k);
76: index_dump(idx);
77:
78: printf("delete key=");
79: scanf("%hu", &k);
80: memset(str, 0, sizeof str);
81: printf("input str=");
82: scanf("%255s", str);
83: index_del(idx, k, str, strlen(str));
84: index_dump(idx);
85:
86: printf("delete key=");
87: scanf("%hu", &k);
88: memset(str, 0, sizeof str);
89: printf("input hash=");
90: scanf("%255s", str);
91: i = strtol(str, NULL, 0);
92: index_del2(idx, k, i);
93: index_dump(idx);
94:
95: index_Destroy(&idx);
96: return 0;
97: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>