refactor: make hash dump usuable for debugging

This commit is contained in:
Yves Rűtschlé committed 2025-08-10 23:12:24 +02:00
1 parent eac34ec36f
commit 78a1ed6899
19 files changed
+429 -406

No files matched your search

+1 -1
View File
@@ -1,5 +1,5 @@
CFLAGS=-DHASH_TESTING -O2 -Wall
CFLAGS=-DHASH_DEBUG -O2 -Wall
OBJ=../hash.o ../gap.o htest.o
htest: $(OBJ)
+28 -28
View File
@@ -1,34 +1,34 @@
<hash elem=4>
0:0:
1:0:
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
0:<empty>
1:<empty>
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:10:aa
11:10:ab
12:10:ac
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:20:ba
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
30:0:
31:0:
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:<empty>
31:<empty>
</hash>
+28 -28
View File
@@ -1,34 +1,34 @@
<hash elem=4>
0:0:
1:0:
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
0:<empty>
1:<empty>
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:10:aa
11:10:ab
12:12:ac
13:13:ad
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
30:0:
31:0:
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:<empty>
31:<empty>
</hash>
+27 -27
View File
@@ -1,34 +1,34 @@
<hash elem=5>
0:30:ad
1:0:
1:<empty>
2:2:ba
3:2:bb
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
10:0:
11:0:
12:0:
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:<empty>
11:<empty>
12:<empty>
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:30:aa
31:30:ac
</hash>
+28 -28
View File
@@ -1,34 +1,34 @@
<hash elem=4>
0:0:
1:0:
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
0:<empty>
1:<empty>
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:10:aa
11:10:bc
12:12:ac
13:0:
13:<empty>
14:14:ad
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
30:0:
31:0:
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:<empty>
31:<empty>
</hash>
+32 -32
View File
@@ -1,34 +1,34 @@
<hash elem=0>
0:0:
1:0:
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
10:0:
11:0:
12:0:
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
30:0:
31:0:
0:<empty>
1:<empty>
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:<empty>
11:<empty>
12:<empty>
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:<empty>
31:<empty>
</hash>
+1 -1
View File
@@ -20,7 +20,7 @@
18:18:bi
19:19:bj
20:20:ca
21:0:
21:<empty>
22:22:cd
23:23:ce
24:24:cf
+28 -28
View File
@@ -1,34 +1,34 @@
<hash elem=4>
0:0:
1:0:
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
0:<empty>
1:<empty>
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:10:ab
11:0:
11:<empty>
12:12:ac
13:13:ad
14:14:ae
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
30:0:
31:0:
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:<empty>
31:<empty>
</hash>
+28 -28
View File
@@ -1,34 +1,34 @@
<hash elem=4>
0:30:ba
1:30:bb
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
10:0:
11:0:
12:0:
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:<empty>
11:<empty>
12:<empty>
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:30:aa
31:30:ab
</hash>
+27 -27
View File
@@ -1,34 +1,34 @@
<hash elem=5>
0:30:ac
1:1:ad
2:0:
2:<empty>
3:3:ae
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
10:0:
11:0:
12:0:
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:<empty>
11:<empty>
12:<empty>
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:30:aa
31:30:ab
</hash>
+29 -29
View File
@@ -1,34 +1,34 @@
<hash elem=3>
0:30:ad
1:0:
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
10:0:
11:0:
12:0:
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
1:<empty>
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:<empty>
11:<empty>
12:<empty>
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:30:aa
31:30:ac
</hash>
+27 -27
View File
@@ -1,34 +1,34 @@
<hash elem=5>
0:31:ad
1:0:
1:<empty>
2:2:ba
3:3:bb
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
10:0:
11:0:
12:0:
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:<empty>
11:<empty>
12:<empty>
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:30:aa
31:30:ac
</hash>
BIN
View File
Binary file not shown.
+7
View File
@@ -55,6 +55,11 @@ static void htest_next_key(FILE* f, char* action, int* key, char str[STR_LENGTH]
if (res == EOF) exit(0);
}
static void item_print(FILE* out, hash_item item)
{
fprintf(out, "%d:%s", item->wanted_index, item->str);
}
int main(int argc, char* argv[])
{
hash* h = hash_init(HASH_SIZE, &hash_make_key, &cmp_item);
@@ -63,6 +68,8 @@ int main(int argc, char* argv[])
int line = 0;
FILE* f;
hash_item_print(h, item_print);
if (argc != 3) {
fprintf(stderr, "Usage: htest <script file> <dump file>\n");
exit(1);
+27 -27
View File
@@ -1,34 +1,34 @@
<hash elem=5>
0:0:
1:0:
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
0:<empty>
1:<empty>
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:10:aa
11:10:ab
12:10:ac
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:20:ba
21:21:bb
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
30:0:
31:0:
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:<empty>
31:<empty>
</hash>
+27 -27
View File
@@ -1,34 +1,34 @@
<hash elem=5>
0:0:
1:0:
2:0:
3:0:
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
0:<empty>
1:<empty>
2:<empty>
3:<empty>
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:10:aa
11:10:bc
12:11:ab
13:12:ac
14:14:ad
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
30:0:
31:0:
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:<empty>
31:<empty>
</hash>
+26 -26
View File
@@ -3,32 +3,32 @@
1:30:ad
2:2:ba
3:2:bb
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
10:0:
11:0:
12:0:
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:<empty>
11:<empty>
12:<empty>
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:30:aa
31:30:ab
</hash>
+26 -26
View File
@@ -3,32 +3,32 @@
1:30:ad
2:0:ba
3:0:bb
4:0:
5:0:
6:0:
7:0:
8:0:
9:0:
10:0:
11:0:
12:0:
13:0:
14:0:
15:0:
16:0:
17:0:
18:0:
19:0:
20:0:
21:0:
22:0:
23:0:
24:0:
25:0:
26:0:
27:0:
28:0:
29:0:
4:<empty>
5:<empty>
6:<empty>
7:<empty>
8:<empty>
9:<empty>
10:<empty>
11:<empty>
12:<empty>
13:<empty>
14:<empty>
15:<empty>
16:<empty>
17:<empty>
18:<empty>
19:<empty>
20:<empty>
21:<empty>
22:<empty>
23:<empty>
24:<empty>
25:<empty>
26:<empty>
27:<empty>
28:<empty>
29:<empty>
30:30:aa
31:30:ab
</hash>