equal
deleted
inserted
replaced
32 static Window root; |
32 static Window root; |
33 static Window win; |
33 static Window win; |
34 static XRectangle rect; |
34 static XRectangle rect; |
35 static Bool done = False; |
35 static Bool done = False; |
36 |
36 |
37 static Item *allitem = 0; /* first of all items */ |
37 static Item *allitem = NULL; /* first of all items */ |
38 static Item *item = 0; /* first of pattern matching items */ |
38 static Item *item = NULL; /* first of pattern matching items */ |
39 static Item *sel = 0; |
39 static Item *sel = NULL; |
40 static Item *nextoff = 0; |
40 static Item *nextoff = NULL; |
41 static Item *prevoff = 0; |
41 static Item *prevoff = NULL; |
42 static Item *curroff = 0; |
42 static Item *curroff = NULL; |
43 |
43 |
44 static int screen; |
44 static int screen; |
45 static char *title = 0; |
45 static char *title = NULL; |
46 static char text[4096]; |
46 static char text[4096]; |
47 static int ret = 0; |
47 static int ret = 0; |
48 static int nitem = 0; |
48 static int nitem = 0; |
49 static unsigned int cmdw = 0; |
49 static unsigned int cmdw = 0; |
50 static unsigned int twidth = 0; |
50 static unsigned int twidth = 0; |
105 if(!title || *pattern) |
105 if(!title || *pattern) |
106 cmdw = cwidth; |
106 cmdw = cwidth; |
107 else |
107 else |
108 cmdw = twidth; |
108 cmdw = twidth; |
109 |
109 |
110 item = j = 0; |
110 item = j = NULL; |
111 nitem = 0; |
111 nitem = 0; |
112 |
112 |
113 for(i = allitem; i; i=i->next) |
113 for(i = allitem; i; i=i->next) |
114 if(!plen || !strncmp(pattern, i->text, plen)) { |
114 if(!plen || !strncmp(pattern, i->text, plen)) { |
115 if(!j) |
115 if(!j) |
116 item = i; |
116 item = i; |
117 else |
117 else |
118 j->right = i; |
118 j->right = i; |
119 i->left = j; |
119 i->left = j; |
120 i->right = 0; |
120 i->right = NULL; |
121 j = i; |
121 j = i; |
122 nitem++; |
122 nitem++; |
123 } |
123 } |
124 for(i = allitem; i; i=i->next) |
124 for(i = allitem; i; i=i->next) |
125 if(plen && strncmp(pattern, i->text, plen) |
125 if(plen && strncmp(pattern, i->text, plen) |
127 if(!j) |
127 if(!j) |
128 item = i; |
128 item = i; |
129 else |
129 else |
130 j->right = i; |
130 j->right = i; |
131 i->left = j; |
131 i->left = j; |
132 i->right = 0; |
132 i->right = NULL; |
133 j = i; |
133 j = i; |
134 nitem++; |
134 nitem++; |
135 } |
135 } |
136 |
136 |
137 curroff = prevoff = nextoff = sel = item; |
137 curroff = prevoff = nextoff = sel = item; |
317 } |
317 } |
318 |
318 |
319 static char * |
319 static char * |
320 read_allitems() |
320 read_allitems() |
321 { |
321 { |
322 static char *maxname = 0; |
322 static char *maxname = NULL; |
323 char *p, buf[1024]; |
323 char *p, buf[1024]; |
324 unsigned int len = 0, max = 0; |
324 unsigned int len = 0, max = 0; |
325 Item *i, *new; |
325 Item *i, *new; |
326 |
326 |
327 i = 0; |
327 i = 0; |
334 maxname = p; |
334 maxname = p; |
335 max = len; |
335 max = len; |
336 } |
336 } |
337 |
337 |
338 new = emalloc(sizeof(Item)); |
338 new = emalloc(sizeof(Item)); |
339 new->next = new->left = new->right = 0; |
339 new->next = new->left = new->right = NULL; |
340 new->text = p; |
340 new->text = p; |
341 if(!i) |
341 if(!i) |
342 allitem = new; |
342 allitem = new; |
343 else |
343 else |
344 i->next = new; |
344 i->next = new; |