Lines Matching refs:st

48 _icv_iconv(_icv_state *st, char **inbuf, size_t *inbytesleft,  in _icv_iconv()  argument
84 if (st == NULL) { in _icv_iconv()
90 st->ustate = U0; in _icv_iconv()
91 st->_errno = 0; in _icv_iconv()
95 st->_errno = 0; /* reset internal errno */ in _icv_iconv()
100 switch (st->ustate) { in _icv_iconv()
108 st->ustate = U1; in _icv_iconv()
109 st->keepc[0] = **inbuf; in _icv_iconv()
111 st->ustate = U2; in _icv_iconv()
112 st->keepc[0] = **inbuf; in _icv_iconv()
116 c1 =st->keepc[0] = **inbuf; in _icv_iconv()
117 st->ustate = U11; in _icv_iconv()
124 st->ustate = U4; in _icv_iconv()
125 st->keepc[1] = **inbuf; in _icv_iconv()
126 c1 = (st->keepc[0]&0x1c)>>2; in _icv_iconv()
127 c2 = ((st->keepc[0]&0x03)<<6) | ((**inbuf)&0x3f); in _icv_iconv()
130 st->keepc[0]&ONEBYTE, st->keepc[1]&ONEBYTE); in _icv_iconv()
134 st->_errno = errno = EINVAL; in _icv_iconv()
138 c2 =st->keepc[1] = **inbuf; in _icv_iconv()
139 st->ustate = U4; in _icv_iconv()
144 st->ustate = U3; in _icv_iconv()
145 st->keepc[1] = **inbuf; in _icv_iconv()
147 st->_errno = errno = EINVAL; in _icv_iconv()
152 st->ustate = U4; in _icv_iconv()
153 st->keepc[2] = **inbuf; in _icv_iconv()
154 c1 = ((st->keepc[0]&0x0f)<<4) | in _icv_iconv()
155 ((st->keepc[1]&0x3c)>>2); in _icv_iconv()
156 c2 = ((st->keepc[1]&0x03)<<6) | ((**inbuf)&0x3f); in _icv_iconv()
158 fprintf(stderr, "UTF8: %02x%02x%02x --> ", st->keepc[0]&ONEBYTE, in _icv_iconv()
159 st->keepc[1]&ONEBYTE, **inbuf&ONEBYTE); in _icv_iconv()
163 st->_errno = errno = EINVAL; in _icv_iconv()
167 n = get_ibm_by_utf(st, c1, c2, &unidx, &ibm_code); in _icv_iconv()
169 st->_errno = errno = EILSEQ; in _icv_iconv()
179 st->_errno = errno; in _icv_iconv()
182 st->ustate = U0; in _icv_iconv()
183 st->_errno = 0; in _icv_iconv()
186 st->_errno = errno = EILSEQ; in _icv_iconv()
187 st->ustate = U0; /* reset state */ in _icv_iconv()
194 if (st->_errno) { in _icv_iconv()
197 st->_errno, st->ustate); in _icv_iconv()
222 int get_ibm_by_utf(st, c1, c2, unidx, ibm_code) in get_ibm_by_utf() argument
223 _icv_state *st; in get_ibm_by_utf()
231 *unidx = bisearch(unicode, st, st->table_size);
234 if ( st->left_to_right )
235 *ibm_code = st->table[*unidx].right_code;
237 *ibm_code = st->table[*unidx].left_code;