diff options
author | Bud Davis <bdavis9659@comcast.net> | 2004-08-25 00:14:07 +0000 |
---|---|---|
committer | Bud Davis <bdavis@gcc.gnu.org> | 2004-08-25 00:14:07 +0000 |
commit | 02d735f6bd9325efc25367cfd399557e19bb2532 (patch) | |
tree | bf1547a2a432ec2b371bd167aa5e7c203607d55e /libgfortran/intrinsics/string_intrinsics.c | |
parent | 1e19ac749db3cd39fb22d58775282c0058bc3c8a (diff) | |
download | gcc-02d735f6bd9325efc25367cfd399557e19bb2532.tar.gz |
re PR libfortran/17164 (index function not working properly)
2004-08-24 Bud Davis <bdavis9659@comcast.net>
PR fortran/17164
* runtime/string_intrinsics.c (string_index):check for
substring longer than string.
* gfortran.dg/pr17164.f90: New test.
From-SVN: r86527
Diffstat (limited to 'libgfortran/intrinsics/string_intrinsics.c')
-rw-r--r-- | libgfortran/intrinsics/string_intrinsics.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libgfortran/intrinsics/string_intrinsics.c b/libgfortran/intrinsics/string_intrinsics.c index 2cd07a2b77b..5d231268ab6 100644 --- a/libgfortran/intrinsics/string_intrinsics.c +++ b/libgfortran/intrinsics/string_intrinsics.c @@ -221,6 +221,9 @@ string_index (GFC_INTEGER_4 slen, const char * str, GFC_INTEGER_4 sslen, if (sslen == 0) return 1; + if (sslen > slen) + return 0; + if (!back) { last = slen + 1 - sslen; |