default:
abort();
}
+ key_drop(k);
}
/*----- Setting new values ------------------------------------------------*/
{
key_subkeyiter i;
- if (!KEY_MATCH(k, kf)) return (0);
- else if ((k->e & KF_ENCMASK) == KENC_STRUCT) return (1);
+ if ((k->e & KF_ENCMASK) != KENC_STRUCT)
+ return (KEY_MATCH(k, kf));
else {
for (key_mksubkeyiter(&i, k); key_nextsubkey(&i, 0, &k); )
if (!structmatchp(k, kf)) return (0);