=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window-copy.c,v retrieving revision 1.232 retrieving revision 1.233 diff -c -r1.232 -r1.233 *** src/usr.bin/tmux/window-copy.c 2019/08/14 09:59:43 1.232 --- src/usr.bin/tmux/window-copy.c 2019/08/14 10:02:24 1.233 *************** *** 1,4 **** ! /* $OpenBSD: window-copy.c,v 1.232 2019/08/14 09:59:43 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: window-copy.c,v 1.233 2019/08/14 10:02:24 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 1635,1646 **** struct window_mode_entry *wme = cs->wme; struct window_copy_mode_data *data = wme->data; u_int np = wme->prefix; ! const char *argument = cs->args->argv[1]; ! if (*argument != '\0') { data->searchtype = WINDOW_COPY_SEARCHUP; - free(data->searchstr); - data->searchstr = xstrdup(argument); for (; np != 0; np--) window_copy_search_up(wme); } --- 1635,1651 ---- struct window_mode_entry *wme = cs->wme; struct window_copy_mode_data *data = wme->data; u_int np = wme->prefix; ! const char *argument; ! if (cs->args->argc == 2) { ! argument = cs->args->argv[1]; ! if (*argument != '\0') { ! free(data->searchstr); ! data->searchstr = xstrdup(argument); ! } ! } ! if (data->searchstr != NULL) { data->searchtype = WINDOW_COPY_SEARCHUP; for (; np != 0; np--) window_copy_search_up(wme); } *************** *** 1653,1664 **** struct window_mode_entry *wme = cs->wme; struct window_copy_mode_data *data = wme->data; u_int np = wme->prefix; ! const char *argument = cs->args->argv[1]; ! if (*argument != '\0') { data->searchtype = WINDOW_COPY_SEARCHDOWN; - free(data->searchstr); - data->searchstr = xstrdup(argument); for (; np != 0; np--) window_copy_search_down(wme); } --- 1658,1674 ---- struct window_mode_entry *wme = cs->wme; struct window_copy_mode_data *data = wme->data; u_int np = wme->prefix; ! const char *argument; ! if (cs->args->argc == 2) { ! argument = cs->args->argv[1]; ! if (*argument != '\0') { ! free(data->searchstr); ! data->searchstr = xstrdup(argument); ! } ! } ! if (data->searchstr != NULL) { data->searchtype = WINDOW_COPY_SEARCHDOWN; for (; np != 0; np--) window_copy_search_down(wme); } *************** *** 1872,1882 **** window_copy_cmd_scroll_up }, { "search-again", 0, 0, window_copy_cmd_search_again }, ! { "search-backward", 1, 1, window_copy_cmd_search_backward }, { "search-backward-incremental", 1, 1, window_copy_cmd_search_backward_incremental }, ! { "search-forward", 1, 1, window_copy_cmd_search_forward }, { "search-forward-incremental", 1, 1, window_copy_cmd_search_forward_incremental }, --- 1882,1892 ---- window_copy_cmd_scroll_up }, { "search-again", 0, 0, window_copy_cmd_search_again }, ! { "search-backward", 0, 1, window_copy_cmd_search_backward }, { "search-backward-incremental", 1, 1, window_copy_cmd_search_backward_incremental }, ! { "search-forward", 0, 1, window_copy_cmd_search_forward }, { "search-forward-incremental", 1, 1, window_copy_cmd_search_forward_incremental },