summaryrefslogtreecommitdiff
path: root/src/util/String.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/String.c')
-rw-r--r--src/util/String.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/util/String.c b/src/util/String.c
index e152efd9..23be0987 100644
--- a/src/util/String.c
+++ b/src/util/String.c
@@ -477,12 +477,20 @@ int Util_StrCmpi (const char *string1, const char *string2)
int Util_StrMemCmpi (const char *string1, const char *string2, size_t length2)
{
int retval;
+ size_t last2;
+ /* Fortran speciality: ignore trailing blanks */
+ last2 = length2;
+ while (last2 > 0 && string2[last2-1] == ' ')
+ {
+ last2--;
+ }
+
do
{
- retval = tolower (*string1) - (length2 ? tolower (*string2) : '\0');
- } while (! retval && *string1++ && (string2++, length2--));
+ retval = tolower (*string1) - (last2 ? tolower (*string2) : '\0');
+ } while (! retval && *string1++ && (string2++, last2--));
return (retval);
}