commit d12ebce
default
·
2024-05-10 10:22:36 +0000 UTC
parent 5d1577a
More search tweaks MUAHAHAHA.
1 files changed,
+13,
-12
M
data.c
M
data.c
+13,
-12
1@@ -2499,10 +2499,8 @@ xs_list *content_search(snac *user, const char *regex,
2 return xs_list_new();
3
4 xs_set seen;
5- xs_set skipped;
6
7 xs_set_init(&seen);
8- xs_set_init(&skipped);
9
10 if (max_secs == 0)
11 max_secs = 3;
12@@ -2523,6 +2521,8 @@ xs_list *content_search(snac *user, const char *regex,
13 xs_list_next(pub_tl, &pub_md5, &pub_c);
14 xs_list_next(priv_tl, &priv_md5, &priv_c);
15
16+ show += skip;
17+
18 while (show > 0) {
19 char *md5 = NULL;
20 enum { NONE, PUBLIC, PRIVATE } from = NONE;
21@@ -2594,20 +2594,21 @@ xs_list *content_search(snac *user, const char *regex,
22 xs *l = xs_regex_select_n(c, regex, 1);
23
24 if (xs_list_len(l)) {
25- if (skip > 0) {
26- if (xs_set_add(&skipped, md5) == 1)
27- skip--;
28- }
29- else {
30- if (xs_set_add(&seen, md5) == 1)
31- show--;
32- }
33+ if (xs_set_add(&seen, md5) == 1)
34+ show--;
35 }
36 }
37
38- xs_set_free(&skipped);
39+ xs_list *r = xs_set_result(&seen);
40
41- return xs_set_result(&seen);
42+ if (skip) {
43+ /* BAD */
44+ while (skip--) {
45+ r = xs_list_del(r, 0);
46+ }
47+ }
48+
49+ return r;
50 }
51
52