From: Francois-Xavier Coudert Date: Fri, 10 Sep 2010 12:19:57 +0000 (+0000) Subject: string.c (compare0): Remove. X-Git-Tag: releases/gcc-4.6.0~4431 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5ad78bbcd97ca09a79505b06582824c09cdf8da;p=thirdparty%2Fgcc.git string.c (compare0): Remove. * runtime/string.c (compare0): Remove. (find_option): Inline string comparison From-SVN: r164168 --- diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 913c0e56bb79..bfd829ab9f11 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2010-09-10 Francois-Xavier Coudert + + * runtime/string.c (compare0): Remove. + (find_option): Inline string comparison + 2010-09-09 Francois-Xavier Coudert * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE, diff --git a/libgfortran/runtime/string.c b/libgfortran/runtime/string.c index a102c3bd49af..a37272011be8 100644 --- a/libgfortran/runtime/string.c +++ b/libgfortran/runtime/string.c @@ -25,24 +25,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "libgfortran.h" #include -/* 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);