version 1.307, 2020/12/22 09:22:14 |
version 1.308, 2020/12/28 09:36:26 |
|
|
u_char *searchmark; |
u_char *searchmark; |
int searchcount; |
int searchcount; |
int searchmore; |
int searchmore; |
int searchthis; |
int searchall; |
int searchx; |
int searchx; |
int searchy; |
int searchy; |
int searcho; |
int searcho; |
|
|
data->searchstr = NULL; |
data->searchstr = NULL; |
} |
} |
data->searchx = data->searchy = data->searcho = -1; |
data->searchx = data->searchy = data->searcho = -1; |
|
data->searchall = 1; |
|
|
data->jumptype = WINDOW_COPY_OFF; |
data->jumptype = WINDOW_COPY_OFF; |
data->jumpchar = '\0'; |
data->jumpchar = '\0'; |
|
|
if (clear != WINDOW_COPY_CMD_CLEAR_NEVER) { |
if (clear != WINDOW_COPY_CMD_CLEAR_NEVER) { |
window_copy_clear_marks(wme); |
window_copy_clear_marks(wme); |
data->searchx = data->searchy = -1; |
data->searchx = data->searchy = -1; |
} else if (data->searchthis != -1) { |
|
data->searchthis = -1; |
|
action = WINDOW_COPY_CMD_REDRAW; |
|
} |
} |
if (action == WINDOW_COPY_CMD_NOTHING) |
if (action == WINDOW_COPY_CMD_NOTHING) |
action = WINDOW_COPY_CMD_REDRAW; |
action = WINDOW_COPY_CMD_REDRAW; |
|
|
if (data->timeout) |
if (data->timeout) |
return (0); |
return (0); |
|
|
if (wp->searchstr == NULL || wp->searchregex != regex) |
if (data->searchall || wp->searchstr == NULL || |
|
wp->searchregex != regex) { |
visible_only = 0; |
visible_only = 0; |
else |
data->searchall = 0; |
|
} else |
visible_only = (strcmp(wp->searchstr, str) == 0); |
visible_only = (strcmp(wp->searchstr, str) == 0); |
free(wp->searchstr); |
free(wp->searchstr); |
wp->searchstr = xstrdup(str); |
wp->searchstr = xstrdup(str); |
|
|
|
|
if (!visible_only) { |
if (!visible_only) { |
if (stopped) { |
if (stopped) { |
data->searchthis = -1; |
|
if (nfound > 1000) |
if (nfound > 1000) |
data->searchcount = 1000; |
data->searchcount = 1000; |
else if (nfound > 100) |
else if (nfound > 100) |
|
|
data->searchcount = -1; |
data->searchcount = -1; |
data->searchmore = 1; |
data->searchmore = 1; |
} else { |
} else { |
if (which != -1) |
|
data->searchthis = 1 + nfound - which; |
|
else |
|
data->searchthis = -1; |
|
data->searchcount = nfound; |
data->searchcount = nfound; |
data->searchmore = 0; |
data->searchmore = 0; |
} |
} |
|
|
if (data->searchcount == -1) { |
if (data->searchcount == -1) { |
size = xsnprintf(hdr, sizeof hdr, |
size = xsnprintf(hdr, sizeof hdr, |
"[%u/%u]", data->oy, hsize); |
"[%u/%u]", data->oy, hsize); |
} else if (data->searchthis == -1) { |
} else { |
size = xsnprintf(hdr, sizeof hdr, |
size = xsnprintf(hdr, sizeof hdr, |
"(%d%s results) [%u/%u]", data->searchcount, |
"(%d%s results) [%u/%u]", data->searchcount, |
data->searchmore ? "+" : "", data->oy, |
data->searchmore ? "+" : "", data->oy, |
hsize); |
hsize); |
} else { |
|
size = xsnprintf(hdr, sizeof hdr, |
|
"(%d/%d results) [%u/%u]", data->searchthis, |
|
data->searchcount, data->oy, hsize); |
|
} |
} |
} |
} |
if (size > screen_size_x(s)) |
if (size > screen_size_x(s)) |