Author: pfg Date: Sun Feb 10 23:47:37 2019 New Revision: 343989 URL: https://svnweb.freebsd.org/changeset/base/343989
Log: MFC r342910: grep(1) outputs NOT-matched lines with multi-byte characters PR: 113343 Modified: stable/11/gnu/usr.bin/grep/search.c Directory Properties: stable/11/ (props changed) Modified: stable/11/gnu/usr.bin/grep/search.c ============================================================================== --- stable/11/gnu/usr.bin/grep/search.c Sun Feb 10 23:45:14 2019 (r343988) +++ stable/11/gnu/usr.bin/grep/search.c Sun Feb 10 23:47:37 2019 (r343989) @@ -401,9 +401,12 @@ EGexecute (char const *buf, size_t size, size_t *match } if (mlen == (size_t) -2) - /* Offset points inside multibyte character: - * no good. */ - break; + { + /* Offset points inside multibyte character: + * no good. */ + memset (&mbs, '\0', sizeof (mbstate_t)); + break; + } beg += mlen; bytes_left -= mlen; @@ -463,9 +466,12 @@ EGexecute (char const *buf, size_t size, size_t *match } if (mlen == (size_t) -2) - /* Offset points inside multibyte character: - * no good. */ - break; + { + /* Offset points inside multibyte character: + * no good. */ + memset (&mbs, '\0', sizeof (mbstate_t)); + break; + } beg += mlen; bytes_left -= mlen; @@ -926,15 +932,21 @@ Fexecute (char const *buf, size_t size, size_t *match_ } if (mlen == (size_t) -2) - /* Offset points inside multibyte character: no good. */ - break; + { + /* Offset points inside multibyte character: no good. */ + memset (&mbs, '\0', sizeof (mbstate_t)); + break; + } beg += mlen; bytes_left -= mlen; } if (bytes_left) - continue; + { + beg += bytes_left; + continue; + } } else #endif /* MBS_SUPPORT */ @@ -1052,6 +1064,7 @@ Fexecute (char const *buf, size_t size, size_t *match_ { /* Offset points inside multibyte character: * no good. */ + memset (&mbs, '\0', sizeof (mbstate_t)); break; } _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"