about summary refs log tree commit diff
path: root/posix/regex.c
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2001-05-14 09:25:37 +0000
committerAndreas Jaeger <aj@suse.de>2001-05-14 09:25:37 +0000
commit3eab00bd35f32df69b569549e92989d67ff1d9d8 (patch)
tree3f8fe4557ee067e0e50e5501b7943b6ee9eb309c /posix/regex.c
parent9c3bb910f26de0d56bb5d734cec58c6329375079 (diff)
downloadglibc-3eab00bd35f32df69b569549e92989d67ff1d9d8.tar.gz
glibc-3eab00bd35f32df69b569549e92989d67ff1d9d8.tar.xz
glibc-3eab00bd35f32df69b569549e92989d67ff1d9d8.zip
Update.
2001-05-14  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/libm-test-ulps: Adjust for new tests.

	* math/libm-test.inc (tanh_test): Add testcases for last tanh bug.

2001-05-14  Stephen L Moshier <moshier@mediaone.net>

	* sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Fix sign test.

2001-05-11  Jakub Jelinek  <jakub@redhat.com>

	* posix/regex.c (re_match_2_internal): Swap mbs_offset and csize
	as well if swapping strings.
	Make sure stop is not past end of second string.
	* posix/bug-regex4.c: New test.
	* posix/Makefile (tests): Add bug-regex4.

2001-05-10  Andreas Jaeger  <aj@suse.de>

	* manual/install.texi (Linux): Clarify that Linux 2.2 is minimal
	requirement.
Diffstat (limited to 'posix/regex.c')
-rw-r--r--posix/regex.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/posix/regex.c b/posix/regex.c
index 471d869899..ca4645945e 100644
--- a/posix/regex.c
+++ b/posix/regex.c
@@ -5595,6 +5595,12 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
       size2 = size1;
       string1 = 0;
       size1 = 0;
+#ifdef MBS_SUPPORT
+      mbs_offset2 = mbs_offset1;
+      csize2 = csize1;
+      mbs_offset1 = NULL;
+      csize1 = 0;
+#endif
     }
   end1 = string1 + size1;
   end2 = string2 + size2;
@@ -5609,6 +5615,8 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
     }
   else
     {
+      if (stop > csize1 + csize2)
+	stop = csize1 + csize2;
       end_match_1 = end1;
       mcnt = count_mbs_length(mbs_offset2, stop-csize1);
       end_match_2 = string2 + mcnt;