Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: >> - while ((*last1 == '\r') || (*last1 == '\n')) >> + while (iswspace(*last1)) >> last1--; >> - while ((*last2 == '\r') || (*last2 == '\n')) >> + while (iswspace(*last2)) >> last2--; >> >> /* skip leading whitespace */ >> > > In addition to Eric's comments... > > What happens if the string consists *only* of whitespace? Also, why would casting char to wchar_t without any conversion be safe and/or sane? I would sort-of understand if the change were to use isspace(), but I do not think that is a correct conversion, either. Isn't a pair of strings "a bc" and "a bc " supposed not to match? My understanding is that two strings that differ only at places where they have runs of whitespaces whose length differ are to compare the same, e.g. "a_bc__" and "a__bc_" (SP replaced with _ to make them stand out). Ignoring whitespace change is very different from ignoring all whitespaces (the latter of which would make "a b" and "ab" match). As a tangent, I have a suspicion that the current implementation may be wrong at the beginning of the string. Wouldn't it match " abc" and "abc", even though these two strings shouldn't match? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html