From: David Lawrence Ramsey Date: Wed, 21 Jun 2006 20:51:36 +0000 (+0000) Subject: in edit_draw(), don't display any statusbar message when we get a X-Git-Tag: v1.3.12~3 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=d76de38109163ac9982081cdd53d0d7fa6b25e2e;p=nano.git in edit_draw(), don't display any statusbar message when we get a zero-length regex, as we can get one under legitimate circumstances git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3677 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/ChangeLog b/ChangeLog index a4d2bad1..cfe4a232 100644 --- a/ChangeLog +++ b/ChangeLog @@ -420,6 +420,9 @@ CVS code - well as single-line ones. This avoids a segfault when trying to color e.g. "start="$" end="$"". (DLR, found by Trevor Caira) + - Don't display any statusbar message when we get a zero-length + regex, as we can get one under legitimate circumstances. (DLR, + found by Mike Frysinger) update_line() - Remove unneeded assert. (DLR) edit_redraw() diff --git a/src/winio.c b/src/winio.c index 0cee05bb..4fba6de2 100644 --- a/src/winio.c +++ b/src/winio.c @@ -2357,11 +2357,11 @@ void edit_draw(const filestruct *fileptr, const char *converted, int * line. */ startmatch.rm_so += k; startmatch.rm_eo += k; - if (startmatch.rm_so == startmatch.rm_eo) { + + /* Skip over a zero-length regex match. */ + if (startmatch.rm_so == startmatch.rm_eo) startmatch.rm_eo++; - statusbar( - _("Refusing zero-length regex match")); - } else if (startmatch.rm_so < endpos && + else if (startmatch.rm_so < endpos && startmatch.rm_eo > startpos) { x_start = (startmatch.rm_so <= startpos) ? 0 : strnlenpt(fileptr->data, @@ -2408,10 +2408,11 @@ void edit_draw(const filestruct *fileptr, const char *converted, int goto step_two; start_line = start_line->prev; } - if (startmatch.rm_so == startmatch.rm_eo) { + + /* Skip over a zero-length regex match. */ + if (startmatch.rm_so == startmatch.rm_eo) startmatch.rm_eo++; - statusbar(_("Refusing zero-length regex match")); - } else { + else { /* No start found, so skip to the next step. */ if (start_line == NULL) goto step_two;