diff options
author | Thomas Koenig <Thomas.Koenig@online.de> | 2005-04-13 20:48:16 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2005-04-13 20:48:16 +0000 |
commit | a6a44da774242d0abbdf0c7367351e7e45ebb7d0 (patch) | |
tree | bf078f0d0e3bbed1813c1cd618e4d0abfa83bdd0 | |
parent | c431d95462cbaee419c90aae76ba8e436ca0bf63 (diff) | |
download | gcc-a6a44da774242d0abbdf0c7367351e7e45ebb7d0.tar.gz |
Committed after approval on
http://gcc.gnu.org/ml/gcc/2005-04/msg00613.html.
2005-04-13 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/20163
* runtime/string.c (compare0): Use fstrlen() to
strip trailing blanks from option string.
2005-04-13 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/20163
* gfortran.dg/open-options-blanks.f: New test.
From-SVN: r98112
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | libgfortran/ChangeLog | 7 | ||||
-rw-r--r-- | libgfortran/runtime/string.c | 14 |
3 files changed, 16 insertions, 10 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f74483845d0..fcf8adbed89 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-04-13 Thomas Koenig <Thomas.Koenig@online.de> + + PR libfortran/20163 + * gfortran.dg/open-options-blanks.f: New test. + 2005-04-12 Ulrich Weigand <uweigand@de.ibm.com> PR middle-end/20917 diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index f10dd589d06..0f182780e53 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,10 @@ +2005-04-13 Thomas Koenig <Thomas.Koenig@online.de> + + PR libfortran/20163 + * runtime/string.c (compare0): Use fstrlen() to + strip trailing blanks from option string. + + 2005-04-08 Eric Botcazou <ebotcazou@libertysurf.fr> * io/backspace.c (unformatted_backspace): Do not dereference diff --git a/libgfortran/runtime/string.c b/libgfortran/runtime/string.c index 07ed99bab36..07f374eea04 100644 --- a/libgfortran/runtime/string.c +++ b/libgfortran/runtime/string.c @@ -41,17 +41,11 @@ static int compare0 (const char *s1, int s1_len, const char *s2) { int i; + int len; - if (strncasecmp (s1, s2, s1_len) != 0) - return 0; - - /* The rest of s1 needs to be blanks for equality. */ - - for (i = strlen (s2); i < s1_len; i++) - if (s1[i] != ' ') - return 0; - - return 1; + /* Strip trailing blanks from the Fortran string. */ + len = fstrlen(s1, s1_len); + return strncasecmp(s1,s2,len) == 0; } |