Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > However, I'm having a tough time imagining cases in which callers > would want same_encoding() to return true if both arguments are NULL, > but outright crash if only one is NULL (which is the behavior even > before this patch). In other words, same_encoding() takes advantage of > is_encoding_utf8() for its convenience, not for its NULL-handling. > Given that view, the two explicit is_encoding_utf8() calls in > same_encoding() seem redundant once the same_utf_encoding() call is > added. So... does that mean we'd want something like this, or do you have something else in mind? int same_encoding(const char *src, const char *dst) { static const char utf8[] = "UTF-8"; if (!src) src = utf8; if (!dst) dst = utf8; if (same_utf_encoding(src, dst)) return 1; return !strcasecmp(src, dst); }