+/* We regard non-alphanumerics as equiv. */
+static bool typematch(const char *a, const char *b)
+{
+ size_t i;
+
+ for (i = 0; a[i]; i++) {
+ if (cisalnum(a[i])) {
+ if (a[i] != b[i])
+ return false;
+ } else {
+ if (cisalnum(b[i]))
+ return false;
+ }
+ }
+ return b[i] == '\0';
+}
+