matchdata
void *matchdata; /* e.g. compiled regexp */
struct matchdata md;
struct matchdata *md = cbdata;
domatch_idarray(Solvable *s, Id keyname, struct matchdata *md, Id *ida)
repo_search_md(Repo *repo, Id p, Id keyname, struct matchdata *md)
ma->matchdata = 0;
ma->matchdata = solv_calloc(1, sizeof(regex_t));
ma->error = regcomp((regex_t *)ma->matchdata, match, REG_EXTENDED | REG_NOSUB | REG_NEWLINE | ((flags & SEARCH_NOCASE) ? REG_ICASE : 0));
solv_free(ma->matchdata);
ma->matchdata = (void *)(p ? p + 1 : match);
ma->matchdata = (void *)(p + 1);
if ((ma->flags & SEARCH_STRINGMASK) == SEARCH_REGEX && ma->matchdata)
regfree(ma->matchdata);
solv_free(ma->matchdata);
ma->matchdata = 0;
return !regexec((const regex_t *)ma->matchdata, str, 0, NULL, 0);
const char *match = ma->matchdata;