Lines Matching refs:cache
25 * regcomp() regex_t cache
52 Cache_t** cache;
58 * flush the cache
67 if (matchstate.cache[i] && matchstate.cache[i]->keep)
69 matchstate.cache[i]->keep = 0;
70 regfree(&matchstate.cache[i]->re);
90 * 0 pattern flushes the cache and reflags>0 extends cache
99 if (matchstate.cache = newof(matchstate.cache, Cache_t*, reflags, 0))
111 if (!matchstate.cache)
113 if (!(matchstate.cache = newof(0, Cache_t*, CACHE, 0)))
119 * flush the cache if the locale changed
131 * check if the pattern is in the cache
141 if (!matchstate.cache[i])
143 else if (!matchstate.cache[i]->keep)
145 else if (*(Key_t*)matchstate.cache[i]->pattern == key && !strcmp(matchstate.cache[i]->pattern, pattern) && matchstate.cache[i]->reflags == reflags)
147 else if (!matchstate.cache[old] || matchstate.cache[old]->serial > matchstate.cache[i]->serial)
158 if (!(cp = matchstate.cache[unused]) && !(cp = matchstate.cache[unused] = newof(0, Cache_t, 1, 0)))
193 cp = matchstate.cache[i];