- for(i = 0, next = curr; i <= n && next; next = next->right)
- i += (lines > 0) ? LINEH : MIN(textw(dc, next->text), mw/3);
-
- for(i = 0, prev = curr; i <= n && prev && prev->left; prev = prev->left)
- i += (lines > 0) ? LINEH : MIN(textw(dc, prev->left->text), mw/3);
-}
-
-char *
-cistrstr(const char *s, const char *sub) {
- size_t len;
-
- for(len = strlen(sub); *s; s++)
- if(!strncasecmp(s, sub, len))
- return (char *)s;
- return NULL;
+ for(i = 0, next = curr; next; next = next->right)
+ if((i += (lines > 0) ? bh : dc_textw(dc, next->text)) > n)
+ break;
+ for(i = 0, prev = curr; prev && prev->left; prev = prev->left)
+ if((i += (lines > 0) ? bh : dc_textw(dc, prev->left->text)) > n)
+ break;