Commit a5ad78bb by Francois-Xavier Coudert Committed by François-Xavier Coudert

string.c (compare0): Remove.

	* runtime/string.c (compare0): Remove.
	(find_option): Inline string comparison

From-SVN: r164168
parent 996b42ef
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> 2010-09-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE, * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE,
......
...@@ -25,24 +25,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -25,24 +25,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h" #include "libgfortran.h"
#include <string.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 /* Given a fortran string, return its length exclusive of the trailing
spaces. */ spaces. */
...@@ -116,8 +98,11 @@ int ...@@ -116,8 +98,11 @@ int
find_option (st_parameter_common *cmp, const char *s1, gfc_charlen_type s1_len, find_option (st_parameter_common *cmp, const char *s1, gfc_charlen_type s1_len,
const st_option * opts, const char *error_message) 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++) 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; return opts->value;
generate_error (cmp, LIBERROR_BAD_OPTION, error_message); generate_error (cmp, LIBERROR_BAD_OPTION, error_message);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment