]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
string.c (compare0): Remove.
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Fri, 10 Sep 2010 12:19:57 +0000 (12:19 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Fri, 10 Sep 2010 12:19:57 +0000 (12:19 +0000)
* runtime/string.c (compare0): Remove.
(find_option): Inline string comparison

From-SVN: r164168

libgfortran/ChangeLog
libgfortran/runtime/string.c

index 913c0e56bb7972ac9f3b1b70eacedfc7e93c1dfe..bfd829ab9f110ab8991ae663b2035f06582cd290 100644 (file)
@@ -1,3 +1,8 @@
+2010-09-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * runtime/string.c (compare0): Remove.
+       (find_option): Inline string comparison
+
 2010-09-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE,
index a102c3bd49af74b22f61e6623ce74f95d6b9d414..a37272011be81b2c3e1e230b6cb5e69785dc0fa7 100644 (file)
@@ -25,24 +25,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include "libgfortran.h"
 #include <string.h>
 
-/* Compare a C-style string with a fortran style string in a case-insensitive
-   manner.  Used for decoding string options to various statements.  Returns
-   zero if not equal, nonzero if equal.  */
-
-static int
-compare0 (const char *s1, gfc_charlen_type s1_len, const char *s2)
-{
-  gfc_charlen_type len;
-
-  /* Strip trailing blanks from the Fortran string.  */
-  len = fstrlen (s1, s1_len);
-
-  if ((size_t) len != strlen(s2))
-    return 0; /* don't match */
-
-  return strncasecmp (s1, s2, len) == 0;
-}
-
 
 /* Given a fortran string, return its length exclusive of the trailing
    spaces.  */
@@ -116,8 +98,11 @@ int
 find_option (st_parameter_common *cmp, const char *s1, gfc_charlen_type s1_len,
             const st_option * opts, const char *error_message)
 {
+  /* Strip trailing blanks from the Fortran string.  */
+  size_t len = (size_t) fstrlen (s1, s1_len);
+
   for (; opts->name; opts++)
-    if (compare0 (s1, s1_len, opts->name))
+    if (len == strlen(opts->name) && strncasecmp (s1, opts->name, len) == 0)
       return opts->value;
 
   generate_error (cmp, LIBERROR_BAD_OPTION, error_message);