summaryrefslogtreecommitdiff
path: root/libguile/srfi-13.c
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@lilypond.org>2004-09-14 21:10:56 +0000
committerHan-Wen Nienhuys <hanwen@lilypond.org>2004-09-14 21:10:56 +0000
commitadba74f3a6350434a3369121f7372ce593082832 (patch)
tree083fa18a3398ffd0be843ed9532a6140891bf8ad /libguile/srfi-13.c
parent2bd2014d986312825378275d2c87180b5d33f479 (diff)
downloadguile-adba74f3a6350434a3369121f7372ce593082832.tar.gz
2004-09-13 Jan Nieuwenhuizen <janneke@gnu.org>
* srfi-13.c (scm_string_contains, s_scm_string_contains_ci): Bugfix: when subtracting unsigned values, make sure that result does not wrap.
Diffstat (limited to 'libguile/srfi-13.c')
-rw-r--r--libguile/srfi-13.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/srfi-13.c b/libguile/srfi-13.c
index eb495af61..eed0fa7cd 100644
--- a/libguile/srfi-13.c
+++ b/libguile/srfi-13.c
@@ -2253,7 +2253,7 @@ SCM_DEFINE (scm_string_contains, "string-contains", 2, 4, 0,
5, start2, cstart2,
6, end2, cend2);
len2 = cend2 - cstart2;
- while (cstart1 <= cend1 - len2)
+ while (cstart1 <= cend1 - len2 && cend1 >= len2)
{
i = cstart1;
j = cstart2;
@@ -2299,7 +2299,7 @@ SCM_DEFINE (scm_string_contains_ci, "string-contains-ci", 2, 4, 0,
5, start2, cstart2,
6, end2, cend2);
len2 = cend2 - cstart2;
- while (cstart1 <= cend1 - len2)
+ while (cstart1 <= cend1 - len2 && cend1 >= len2)
{
i = cstart1;
j = cstart2;