diff options
author | Timo Sirainen <cras@irssi.org> | 2000-05-10 12:38:00 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2000-05-10 12:38:00 +0000 |
commit | d729474195913a37a4a5f32943d7b213654cf538 (patch) | |
tree | 5953ebd2eab788b4616f1f7677a30e311f4d6615 /src/fe-text | |
parent | ee254bd146ada53c8f963810695f4123e9c9daea (diff) | |
download | irssi-d729474195913a37a4a5f32943d7b213654cf538.zip |
/LAST didn't work when window's max. number of lines was full + a few
cleanups.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@210 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/fe-text')
-rw-r--r-- | src/fe-text/gui-textwidget.c | 2 | ||||
-rw-r--r-- | src/fe-text/gui-windows.c | 10 |
2 files changed, 4 insertions, 8 deletions
diff --git a/src/fe-text/gui-textwidget.c b/src/fe-text/gui-textwidget.c index a380322b..f72229c6 100644 --- a/src/fe-text/gui-textwidget.c +++ b/src/fe-text/gui-textwidget.c @@ -181,11 +181,11 @@ static void cmd_lastlog(const char *data) if (count == 0) count = -1; level = lastlog_parse_args(args, &flags); - startline = lastlog_window_startline(flags & LASTLOG_FLAG_NEW); if ((flags & LASTLOG_FLAG_NOHEADERS) == 0) printformat(NULL, NULL, MSGLEVEL_LASTLOG, IRCTXT_LASTLOG_START); + startline = lastlog_window_startline(flags & LASTLOG_FLAG_NEW); list = gui_window_find_text(active_win, text, startline, flags & LASTLOG_FLAG_REGEXP, flags & LASTLOG_FLAG_WORD); tmp = lastlog_find_startline(list, count, atoi(start), level); diff --git a/src/fe-text/gui-windows.c b/src/fe-text/gui-windows.c index df1ba8ec..60956cce 100644 --- a/src/fe-text/gui-windows.c +++ b/src/fe-text/gui-windows.c @@ -613,13 +613,10 @@ GList *gui_window_find_text(WINDOW_REC *window, gchar *text, GList *startline, i g_return_val_if_fail(window != NULL, NULL); g_return_val_if_fail(text != NULL, NULL); - text = g_strdup(text); g_strup(text); matches = NULL; size = 1024; str = g_malloc(1024); - if (regcomp(&preg, text, REG_EXTENDED|REG_NOSUB) != 0) { - g_free(text); + if (regcomp(&preg, text, REG_ICASE|REG_EXTENDED|REG_NOSUB) != 0) return 0; - } if (startline == NULL) startline = WINDOW_GUI(window)->lines; for (tmp = startline; tmp != NULL; tmp = tmp->next) @@ -656,9 +653,9 @@ GList *gui_window_find_text(WINDOW_REC *window, gchar *text, GList *startline, i } str[n] = '\0'; - if (regexp ? /*regexec(&preg, str, 0, NULL, 0) == 0*/regexp_match(str, text) : + if (regexp ? regexec(&preg, str, 0, NULL, 0) == 0 : fullword ? stristr_full(str, text) != NULL : - strstr(str, text) != NULL) { + stristr(str, text) != NULL) { /* matched */ matches = g_list_append(matches, rec); } @@ -666,7 +663,6 @@ GList *gui_window_find_text(WINDOW_REC *window, gchar *text, GList *startline, i regfree(&preg); if (str != NULL) g_free(str); - g_free(text); return matches; } |