aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/main.c b/main.c
index 77a61b9..170a3e0 100644
--- a/main.c
+++ b/main.c
@@ -120,8 +120,19 @@ match(char *pattern) {
nitem = 0;
for(i = allitems; i; i=i->next)
- if(plen ? !strncmp(pattern, i->text, plen) :
- strncmp(pattern, i->text, plen) && strstr(i->text, pattern)) {
+ if(!plen || !strncmp(pattern, i->text, plen)) {
+ if(!j)
+ item = i;
+ else
+ j->right = i;
+ i->left = j;
+ i->right = NULL;
+ j = i;
+ nitem++;
+ }
+ for(i = allitems; i; i=i->next)
+ if(plen && strncmp(pattern, i->text, plen)
+ && strstr(i->text, pattern)) {
if(!j)
item = i;
else