File src/hstr_history.c changed (mode: 100644) (index c6baa03..6393bf3) |
... |
... |
HistoryItems *prioritize_history(HistoryItems *historyFileItems) { |
41 |
41 |
hashmap_init(&rankmap); |
hashmap_init(&rankmap); |
42 |
42 |
|
|
43 |
43 |
HashSet blacklist; |
HashSet blacklist; |
|
44 |
|
char *blackCommands[] = {"ls", "pwd", "cd", "hh"}; |
|
45 |
|
int i; |
44 |
46 |
hashset_init(&blacklist); |
hashset_init(&blacklist); |
45 |
|
hashset_add(&blacklist, "ls"); |
|
46 |
|
hashset_add(&blacklist, "pwd"); |
|
47 |
|
hashset_add(&blacklist, "cd"); |
|
48 |
|
hashset_add(&blacklist, "hh"); |
|
|
47 |
|
for(i=0; i<4; i++) { |
|
48 |
|
hashset_add(&blacklist, blackCommands[i]); |
|
49 |
|
} |
49 |
50 |
|
|
50 |
51 |
RadixSorter rs; |
RadixSorter rs; |
51 |
52 |
radixsort_init(&rs); |
radixsort_init(&rs); |
52 |
53 |
|
|
53 |
54 |
RankedHistoryItem *r; |
RankedHistoryItem *r; |
54 |
55 |
RadixItem *radixItem; |
RadixItem *radixItem; |
55 |
|
int i; |
|
56 |
56 |
for(i=0; i<historyFileItems->count; i++) { |
for(i=0; i<historyFileItems->count; i++) { |
57 |
57 |
if(hashset_contains(&blacklist, historyFileItems->items[i])) { |
if(hashset_contains(&blacklist, historyFileItems->items[i])) { |
58 |
58 |
continue; |
continue; |
|
... |
... |
HistoryItems *prioritize_history(HistoryItems *historyFileItems) { |
86 |
86 |
prioritizedHistory->count=rs.size; |
prioritizedHistory->count=rs.size; |
87 |
87 |
prioritizedHistory->items=malloc(rs.size * sizeof(char*)); |
prioritizedHistory->items=malloc(rs.size * sizeof(char*)); |
88 |
88 |
for(i=0; i<rs.size; i++) { |
for(i=0; i<rs.size; i++) { |
89 |
|
printf("\n %d %p ",i,prioritizedRadix[i]->data); |
|
90 |
89 |
if(prioritizedRadix[i]->data) { |
if(prioritizedRadix[i]->data) { |
91 |
90 |
prioritizedHistory->items[i]=((RankedHistoryItem *)(prioritizedRadix[i]->data))->item; |
prioritizedHistory->items[i]=((RankedHistoryItem *)(prioritizedRadix[i]->data))->item; |
92 |
91 |
} |
} |
93 |
|
printf("\n %d %s ",i,((RankedHistoryItem *)(prioritizedRadix[i]->data))->item); |
|
94 |
92 |
} |
} |
95 |
93 |
|
|
96 |
94 |
radixsort_destroy(&rs); |
radixsort_destroy(&rs); |
File src/include/radixsort.h changed (mode: 100644) (index c2a87ae..25a1088) |
... |
... |
void radixsort_init(RadixSorter *rs); |
19 |
19 |
void radixsort_add(RadixSorter *rs, RadixItem *item); |
void radixsort_add(RadixSorter *rs, RadixItem *item); |
20 |
20 |
RadixItem *radix_cut(RadixSorter *rs, unsigned key, void *data); |
RadixItem *radix_cut(RadixSorter *rs, unsigned key, void *data); |
21 |
21 |
RadixItem **radixsort_dump(RadixSorter *rs); |
RadixItem **radixsort_dump(RadixSorter *rs); |
|
22 |
|
void radixsort_destroy(RadixSorter *rs); |
22 |
23 |
|
|
23 |
24 |
#endif /* RADIXSORT_H_ */ |
#endif /* RADIXSORT_H_ */ |