Lines Matching refs:cm
51 struct cmap *cm; in cmap_alloc() local
53 cm = malloc(sizeof(*cm)); in cmap_alloc()
54 if (cm == NULL) in cmap_alloc()
56 cm->cm_root = NULL; in cmap_alloc()
57 cm->cm_def = CM_DEF_SELF; in cmap_alloc()
58 cm->cm_havecache = false; in cmap_alloc()
59 cm->cm_min = cm->cm_max = 0; in cmap_alloc()
60 return (cm); in cmap_alloc()
68 cmap_add(struct cmap *cm, wint_t from, wint_t to) in cmap_add() argument
72 cm->cm_havecache = false; in cmap_add()
74 if (cm->cm_root == NULL) { in cmap_add()
81 cm->cm_root = cmn; in cmap_add()
82 cm->cm_min = cm->cm_max = from; in cmap_add()
86 cmn = cm->cm_root = cmap_splay(cm->cm_root, from); in cmap_add()
107 if (from < cm->cm_min) in cmap_add()
108 cm->cm_min = from; in cmap_add()
109 if (from > cm->cm_max) in cmap_add()
110 cm->cm_max = from; in cmap_add()
111 cm->cm_root = ncmn; in cmap_add()
121 cmap_lookup_hard(struct cmap *cm, wint_t ch) in cmap_lookup_hard() argument
124 if (cm->cm_root != NULL) { in cmap_lookup_hard()
125 cm->cm_root = cmap_splay(cm->cm_root, ch); in cmap_lookup_hard()
126 if (cm->cm_root->cmn_from == ch) in cmap_lookup_hard()
127 return (cm->cm_root->cmn_to); in cmap_lookup_hard()
129 return (cm->cm_def == CM_DEF_SELF ? ch : cm->cm_def); in cmap_lookup_hard()
137 cmap_cache(struct cmap *cm) in cmap_cache() argument
142 cm->cm_cache[ch] = cmap_lookup_hard(cm, ch); in cmap_cache()
144 cm->cm_havecache = true; in cmap_cache()
154 cmap_default(struct cmap *cm, wint_t def) in cmap_default() argument
158 old = cm->cm_def; in cmap_default()
159 cm->cm_def = def; in cmap_default()
160 cm->cm_havecache = false; in cmap_default()