59
59
/* Reject unimplemented match-type */
60
60
if ( mcht->def == NULL || mcht->def->match == NULL )
63
63
/* Match to all key values */
64
64
if ( mcht->def->is_iterative ) {
65
65
unsigned int key_index = 0;
66
66
string_t *key_item = NULL;
72
72
if ( mctx->kextract != NULL && mcht->def->allow_key_extract ) {
73
73
const struct sieve_match_key_extractor *kext = mctx->kextract;
76
76
if ( (ret=kext->init(&kctx, key_item)) > 0 ) {
82
82
(mctx, value, val_size, key, key_size, key_index);
88
ret = mcht->def->match(mctx, value, val_size, str_c(key_item),
88
ret = mcht->def->match(mctx, value, val_size, str_c(key_item),
89
89
str_len(key_item), key_index);