Lines Matching refs:cache
195 #define load_cache(cache, string) &my_cache argument
203 same_cache2(CACHE * cache, const char *string, unsigned i_len) in same_cache2() argument
209 if (cache->s_len == 0 in same_cache2()
210 || cache->s_len < s_len in same_cache2()
211 || cache->list == 0 in same_cache2()
212 || !SAME_CACHE(cache, string, (size_t) s_len)) { in same_cache2()
215 if (cache->list == 0) { in same_cache2()
216 cache->list = dlg_malloc(int, need); in same_cache2()
217 } else if (cache->i_len < i_len) { in same_cache2()
218 cache->list = dlg_realloc(int, need, cache->list); in same_cache2()
220 assert_ptr(cache->list, "load_cache"); in same_cache2()
221 cache->i_len = i_len; in same_cache2()
223 if (cache->s_len >= s_len && cache->string != 0) { in same_cache2()
224 strcpy(cache->string, string); in same_cache2()
226 if (cache->string != 0) in same_cache2()
227 free(cache->string); in same_cache2()
228 cache->string = dlg_strclone(string); in same_cache2()
230 cache->s_len = s_len; in same_cache2()
243 same_cache1(CACHE * cache, const char *string, size_t i_len) in same_cache1() argument
248 if (cache->s_len != s_len in same_cache1()
249 || !SAME_CACHE(cache, string, (size_t) s_len)) { in same_cache1()
251 if (cache->s_len >= s_len && cache->string != 0) { in same_cache1()
252 strcpy(cache->string, string); in same_cache1()
254 if (cache->string != 0) in same_cache1()
255 free(cache->string); in same_cache1()
256 cache->string = dlg_strclone(string); in same_cache1()
258 cache->s_len = s_len; in same_cache1()
259 cache->i_len = i_len; in same_cache1()
278 CACHE *cache = load_cache(cCntWideBytes, string); in dlg_count_wcbytes() local
279 if (!same_cache1(cache, string, len)) { in dlg_count_wcbytes()
282 const char *src = cache->string; in dlg_count_wcbytes()
284 char save = cache->string[len]; in dlg_count_wcbytes()
286 cache->string[len] = '\0'; in dlg_count_wcbytes()
289 cache->string[len] = save; in dlg_count_wcbytes()
295 cache->i_len = len; in dlg_count_wcbytes()
297 result = (int) cache->i_len; in dlg_count_wcbytes()
316 CACHE *cache = load_cache(cCntWideChars, string); in dlg_count_wchars() local
318 if (!same_cache1(cache, string, len)) { in dlg_count_wchars()
319 const char *src = cache->string; in dlg_count_wchars()
321 int part = dlg_count_wcbytes(cache->string, len); in dlg_count_wchars()
322 char save = cache->string[part]; in dlg_count_wchars()
327 cache->string[part] = '\0'; in dlg_count_wchars()
330 cache->i_len = ((int) code >= 0) ? wcslen(temp) : 0; in dlg_count_wchars()
331 cache->string[part] = save; in dlg_count_wchars()
334 cache->i_len = 0; in dlg_count_wchars()
337 result = (int) cache->i_len; in dlg_count_wchars()
355 CACHE *cache = load_cache(cInxWideChars, string); in dlg_index_wchars() local
357 if (!same_cache2(cache, string, len)) { in dlg_index_wchars()
360 cache->list[0] = 0; in dlg_index_wchars()
371 cache->list[inx] = cache->list[inx - 1] + width; in dlg_index_wchars()
376 cache->list[inx] = (int) inx; in dlg_index_wchars()
380 return cache->list; in dlg_index_wchars()
409 CACHE *cache = load_cache(cInxCols, string); in dlg_index_columns() local
411 if (!same_cache2(cache, string, len)) { in dlg_index_columns()
412 cache->list[0] = 0; in dlg_index_columns()
425 result = ((cache->list[inx] | 7) + 1) - cache->list[inx]; in dlg_index_columns()
446 cache->list[inx + 1] = result; in dlg_index_columns()
448 cache->list[inx + 1] += cache->list[inx]; in dlg_index_columns()
457 cache->list[inx + 1] = in dlg_index_columns()
458 ((cache->list[inx] | 7) + 1) - cache->list[inx]; in dlg_index_columns()
460 cache->list[inx + 1] = 1; in dlg_index_columns()
464 cache->list[inx + 1] = (printable in dlg_index_columns()
469 cache->list[inx + 1] += cache->list[inx]; in dlg_index_columns()
473 return cache->list; in dlg_index_columns()