changeset 27278:94d490815aa8

Correctly handle UTF-8 in regular expressions (bug #35910). * regexp.cc (do_regexp_ptn_string_escapes): Prepend "(*UTF8)" to pattern.
author Markus Mützel <markus.muetzel@gmx.de>
date Tue, 05 Mar 2019 17:56:57 +0100
parents db687716fed6
children 1c8b20731af4
files libinterp/corefcn/regexp.cc
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/regexp.cc	Sun Jul 21 10:21:01 2019 -0400
+++ b/libinterp/corefcn/regexp.cc	Tue Mar 05 17:56:57 2019 +0100
@@ -52,13 +52,13 @@
 static std::string
 do_regexp_ptn_string_escapes (const std::string& s, bool is_sq_str)
 {
-  std::string retval;
+  std::string retval = "(*UTF8)";
 
-  size_t i = 0;
+  size_t i = 7;
   size_t j = 0;
   size_t len = s.length ();
 
-  retval.resize (len);
+  retval.resize (len+i);
 
   while (j < len)
     {