Lines Matching refs:string
43 char *string; /* a copy of the last-processed string */ member
48 #define SAME_CACHE(c,s,l) (c->string != 0 && memcmp(c->string,s,l) == 0)
92 DLG_TRACE(("# cache %p %p:%s\n", p, p->string, p->string));
122 find_cache(int cache_num, const char *string) in find_cache() argument
132 find.string_at = string; in find_cache()
141 if (p->string_at == string) { in find_cache()
150 make_cache(int cache_num, const char *string) in make_cache() argument
160 p->string_at = string; in make_cache()
169 load_cache(int cache_num, const char *string) in load_cache() argument
173 if ((p = find_cache(cache_num, string)) == 0) { in load_cache()
174 p = make_cache(cache_num, string); in load_cache()
180 #define SAME_CACHE(c,s,l) (c->string != 0)
181 #define load_cache(cache, string) &my_cache argument
189 same_cache2(CACHE * cache, const char *string, unsigned i_len) in same_cache2() argument
191 size_t s_len = strlen(string); in same_cache2()
197 || !SAME_CACHE(cache, string, (size_t) s_len)) { in same_cache2()
208 if (cache->s_len >= s_len && cache->string != 0) { in same_cache2()
209 strcpy(cache->string, string); in same_cache2()
211 if (cache->string != 0) in same_cache2()
212 free(cache->string); in same_cache2()
213 cache->string = dlg_strclone(string); in same_cache2()
228 same_cache1(CACHE * cache, const char *string, size_t i_len) in same_cache1() argument
230 size_t s_len = strlen(string); in same_cache1()
234 || !SAME_CACHE(cache, string, (size_t) s_len)) { in same_cache1()
236 if (cache->s_len >= s_len && cache->string != 0) { in same_cache1()
237 strcpy(cache->string, string); in same_cache1()
239 if (cache->string != 0) in same_cache1()
240 free(cache->string); in same_cache1()
241 cache->string = dlg_strclone(string); in same_cache1()
258 dlg_count_wcbytes(const char *string, size_t len) in dlg_count_wcbytes() argument
263 CACHE *cache = load_cache(cCntWideBytes, string); in dlg_count_wcbytes()
264 if (!same_cache1(cache, string, len)) { in dlg_count_wcbytes()
267 const char *src = cache->string; in dlg_count_wcbytes()
269 char save = cache->string[len]; in dlg_count_wcbytes()
271 cache->string[len] = '\0'; in dlg_count_wcbytes()
274 cache->string[len] = save; in dlg_count_wcbytes()
294 dlg_count_wchars(const char *string) in dlg_count_wchars() argument
300 size_t len = strlen(string); in dlg_count_wchars()
301 CACHE *cache = load_cache(cCntWideChars, string); in dlg_count_wchars()
303 if (!same_cache1(cache, string, len)) { in dlg_count_wchars()
304 const char *src = cache->string; in dlg_count_wchars()
306 int part = dlg_count_wcbytes(cache->string, len); in dlg_count_wchars()
307 char save = cache->string[part]; in dlg_count_wchars()
313 cache->string[part] = '\0'; in dlg_count_wchars()
317 cache->string[part] = save; in dlg_count_wchars()
327 result = (int) strlen(string); in dlg_count_wchars()
337 dlg_index_wchars(const char *string) in dlg_index_wchars() argument
339 unsigned len = (unsigned) dlg_count_wchars(string); in dlg_index_wchars()
340 CACHE *cache = load_cache(cInxWideChars, string); in dlg_index_wchars()
342 if (!same_cache2(cache, string, len)) { in dlg_index_wchars()
343 const char *current = string; in dlg_index_wchars()
391 dlg_index_columns(const char *string) in dlg_index_columns() argument
393 unsigned len = (unsigned) dlg_count_wchars(string); in dlg_index_columns()
394 CACHE *cache = load_cache(cInxCols, string); in dlg_index_columns()
396 if (!same_cache2(cache, string, len)) { in dlg_index_columns()
402 size_t num_bytes = strlen(string); in dlg_index_columns()
403 const int *inx_wchars = dlg_index_wchars(string); in dlg_index_columns()
409 if (string[inx_wchars[inx]] == TAB) { in dlg_index_columns()
418 string + inx_wchars[inx], in dlg_index_columns()
444 chtype ch = UCH(string[inx]); in dlg_index_columns()
471 dlg_count_columns(const char *string) in dlg_count_columns() argument
474 int limit = dlg_count_wchars(string); in dlg_count_columns()
476 const int *cols = dlg_index_columns(string); in dlg_count_columns()
479 result = (int) strlen(string); in dlg_count_columns()
481 dlg_finish_string(string); in dlg_count_columns()
491 dlg_limit_columns(const char *string, int limit, int offset) in dlg_limit_columns() argument
493 const int *cols = dlg_index_columns(string); in dlg_limit_columns()
494 int result = dlg_count_wchars(string); in dlg_limit_columns()
506 dlg_edit_string(char *string, int *chr_offset, int key, int fkey, bool force) in dlg_edit_string() argument
509 int len = (int) strlen(string); in dlg_edit_string()
510 int limit = dlg_count_wchars(string); in dlg_edit_string()
511 const int *indx = dlg_index_wchars(string); in dlg_edit_string()
558 (string[i] = string[i + gap]) != '\0'; in dlg_edit_string()
568 string[*chr_offset = 0] = '\0'; in dlg_edit_string()
575 (string[i] = string[i + gap]) != '\0'; in dlg_edit_string()
580 string[indx[offset - 1]] = '\0'; in dlg_edit_string()
588 string[*chr_offset = 0] = '\0'; in dlg_edit_string()
617 string[i] = string[i - 1]; in dlg_edit_string()
618 string[*chr_offset] = (char) key; in dlg_edit_string()
629 compute_edit_offset(const char *string, in compute_edit_offset() argument
635 const int *cols = dlg_index_columns(string); in compute_edit_offset()
636 const int *indx = dlg_index_wchars(string); in compute_edit_offset()
637 int limit = dlg_count_wchars(string); in compute_edit_offset()
664 dlg_edit_offset(char *string, int chr_offset, int x_last) in dlg_edit_offset() argument
668 compute_edit_offset(string, chr_offset, x_last, &result, 0); in dlg_edit_offset()
679 const char *string, /* string to display (may be multibyte) */ in dlg_show_string() argument
696 const int *cols = dlg_index_columns(string); in dlg_show_string()
697 const int *indx = dlg_index_wchars(string); in dlg_show_string()
698 int limit = dlg_count_wchars(string); in dlg_show_string()
704 compute_edit_offset(string, chr_offset, x_last, &input_x, &scrollamt); in dlg_show_string()
712 chtype ch = UCH(string[j]); in dlg_show_string()
739 dlg_finish_string(const char *string) in dlg_finish_string() argument
742 if ((string != 0) && dialog_state.finish_string) { in dlg_finish_string()
748 if (p->string_at == string) { in dlg_finish_string()
755 if (p->string != 0) in dlg_finish_string()
756 free(p->string); in dlg_finish_string()
775 (void) string; in dlg_finish_string()