Lines Matching refs:term
1 /* $NetBSD: term.c,v 1.34 2020/04/05 14:53:39 martin Exp $ */
31 __RCSID("$NetBSD: term.c,v 1.34 2020/04/05 14:53:39 martin Exp $");
45 #include <term.h>
79 _ti_readterm(TERMINAL *term, const char *cap, size_t caplen, int flags)
94 if (allocset(&term->flags, 0, TIFLAGMAX+1, sizeof(*term->flags)) == -1)
97 if (allocset(&term->nums, -1, TINUMMAX+1, sizeof(*term->nums)) == -1)
100 if (allocset(&term->strs, 0, TISTRMAX+1, sizeof(*term->strs)) == -1)
103 if (term->_arealen != caplen) {
104 term->_arealen = caplen;
105 term->_area = realloc(term->_area, term->_arealen);
106 if (term->_area == NULL)
109 memcpy(term->_area, cap, term->_arealen);
111 cap = term->_area;
113 term->name = cap;
117 term->_alias = NULL;
119 term->_alias = cap;
124 term->desc = NULL;
126 term->desc = cap;
135 term->flags[ind] = *cap++;
136 if (flags == 0 && !VALID_BOOLEAN(term->flags[ind]))
137 term->flags[ind] = 0;
146 term->nums[ind] = _ti_decode_num(&cap, rtype);
147 if (flags == 0 && !VALID_NUMERIC(term->nums[ind]))
148 term->nums[ind] = ABSENT_NUMERIC;
159 term->strs[ind] = cap;
161 term->strs[ind] = ABSENT_STRING;
163 term->strs[ind] = CANCELLED_STRING;
171 if (num != term->_nuserdefs) {
172 free(term->_userdefs);
173 term->_userdefs = NULL;
174 term->_nuserdefs = num;
176 if (allocset(&term->_userdefs, 0, term->_nuserdefs,
177 sizeof(*term->_userdefs)) == -1)
179 for (num = 0; num < term->_nuserdefs; num++) {
180 ud = &term->_userdefs[num];
219 term->_nuserdefs = 0;
220 if (term->_userdefs) {
221 free(term->_userdefs);
222 term->_userdefs = NULL;
269 _ti_dbgetterm(TERMINAL *term, const char *path, const char *name, int flags)
308 r = _ti_readterm(term, data, len, flags);
311 r = _ti_checkname(name, term->name, term->_alias);
322 _ti_dbgettermp(TERMINAL *term, const char *path, const char *name, int flags)
338 r = _ti_dbgetterm(term, pathbuf, name, flags);
350 _ti_findterm(TERMINAL *term, const char *name, int flags)
360 _DIAGASSERT(term != NULL);
368 return _ti_dbgetterm(term, e, name, flags);
402 r = _ti_readterm(term, (char *)f, (size_t)len,
418 return _ti_dbgettermp(term, e, name, flags);
424 r = _ti_dbgetterm(term, homepath, name, flags);
427 r = _ti_dbgettermp(term, _PATH_TERMINFO, name, flags);
435 _ti_getterm(TERMINAL *term, const char *name, int flags)
445 r = _ti_findterm(term, namev3, flags);
452 r = _ti_findterm(term, name, flags);
459 r = _ti_readterm(term, t->cap, t->caplen, flags);