Lines Matching defs:rtic
247 merge(TIC *rtic, TIC *utic, int flags)
255 if (rtic->rtype < utic->rtype)
257 utic->name, utic->rtype, rtic->name, rtic->rtype);
264 _ti_find_cap(rtic, &rtic->flags, 'f', ind) == NULL)
266 if (!_ti_encode_buf_id_flags(&rtic->flags, ind, flag))
276 _ti_find_cap(rtic, &rtic->nums, 'n', ind) == NULL)
278 if (!_ti_encode_buf_id_num(&rtic->nums, ind, num,
279 _ti_numsize(rtic)))
289 _ti_find_cap(rtic, &rtic->strs, 's', ind) == NULL)
291 if (!_ti_encode_buf_id_count_str(&rtic->strs, ind, cap,
325 _ti_store_extra(rtic, 0, code, type, flag, num, str, num,
347 promote(TIC *rtic, TIC *utic)
349 TERM *nrterm = find_newest_term(rtic->name);
363 tic->name = _ti_getname(TERMINFO_RTYPE, rtic->name);
366 if (rtic->alias != NULL) {
367 tic->alias = strdup(rtic->alias);
371 if (rtic->desc != NULL) {
372 tic->desc = strdup(rtic->desc);
377 tic->rtype = rtic->rtype;
378 if (dup_tbuf(&tic->flags, &rtic->flags) == -1)
380 if (dup_tbuf(&tic->nums, &rtic->nums) == -1)
382 if (dup_tbuf(&tic->strs, &rtic->strs) == -1)
384 if (dup_tbuf(&tic->extras, &rtic->extras) == -1)
416 TIC *rtic, *utic;
424 rtic = term->tic;
425 basename = _ti_getname(TERMINFO_RTYPE_O1, rtic->name);
427 while ((cap = _ti_find_extra(rtic, &rtic->extras, "use"))
430 dowarn("%s: use is not string", rtic->name);
435 dowarn("%s: uses itself", rtic->name);
438 name = _ti_getname(rtic->rtype, cap);
440 dowarn("%s: ???: %s", rtic->name, cap);
451 rtic->name, cap);
455 if (strcmp(utic->name, rtic->name) == 0) {
456 dowarn("%s: uses itself", rtic->name);
468 if (!promoted && rtic->rtype != TERMINFO_RTYPE) {
469 if (promote(rtic, utic) == -1)
471 promoted = rtic->rtype == TERMINFO_RTYPE;
474 merge(rtic, utic, flags);
477 cap = _ti_find_extra(rtic, &rtic->extras, "use");
480 rtic->name);
487 memn = rtic->extras.bufpos -
488 (cap - rtic->extras.buf);
490 rtic->extras.bufpos -= cap - scap;
492 rtic->extras.entries--;