static bool nameMatch(const QByteArray &name, const QByteArray &test) { // if they're the same, return a perfect score if (qstricmp(name, test) == 0) return true; const char *n = name.constData(); const char *h = test.constData(); // if the letters and numbers are the same, we have a match while (*n != '\0') { if (qisalnum(*n)) { for (;;) { if (*h == '\0') return false; if (qisalnum(*h)) break; ++h; } if (qtolower(*n) != qtolower(*h)) return false; ++h; } ++n; } while (*h && !qisalnum(*h)) ++h; return (*h == '\0'); }
bool qTextCodecNameMatch(const char *n, const char *h) { if (qstricmp(n, h) == 0) return true; // if the letters and numbers are the same, we have a match while (*n != '\0') { if (qisalnum(*n)) { for (;;) { if (*h == '\0') return false; if (qisalnum(*h)) break; ++h; } if (qtolower(*n) != qtolower(*h)) return false; ++h; } ++n; } while (*h && !qisalnum(*h)) ++h; return (*h == '\0'); }