Lines Matching refs:psenc
167 _HZState * __restrict psenc)
170 _DIAGASSERT(psenc != NULL);
172 psenc->chlen = 0;
173 psenc->inuse = INIT0(ei);
179 void *__restrict pspriv, const _HZState * __restrict psenc)
183 _DIAGASSERT(psenc != NULL);
185 memcpy(pspriv, (const void *)psenc, sizeof(*psenc));
191 _HZState * __restrict psenc, const void * __restrict pspriv)
194 _DIAGASSERT(psenc != NULL);
197 memcpy((void *)psenc, pspriv, sizeof(*psenc));
203 _HZState * __restrict psenc, size_t * __restrict nresult)
215 _DIAGASSERT(psenc != NULL);
219 _citrus_HZ_init_state(ei, psenc);
224 if (psenc->chlen < 0 || psenc->inuse == NULL)
231 if (psenc->chlen == tail) {
237 psenc->ch[psenc->chlen++] = *s0++;
240 ch = (unsigned char)psenc->ch[tail++];
243 if (psenc->inuse != INIT0(ei))
249 graphic = GR(psenc->inuse);
253 graphic = GL(psenc->inuse);
260 } else if (tail == 2 && psenc->ch[0] == ESCAPE_CHAR) {
261 if (tail < psenc->chlen)
266 if (psenc->inuse != INIT0(ei))
268 tail = psenc->chlen = 0;
274 if (psenc->inuse == init) {
276 } else if (INIT(psenc->inuse) == init) {
283 SET(psenc->inuse), ch);
291 psenc->inuse = candidate;
292 tail = psenc->chlen = 0;
296 if (graphic != GR(psenc->inuse))
300 if (graphic != GL(psenc->inuse))
311 bit |= ESC(psenc->inuse) << 24;
319 if (tail < psenc->chlen)
324 psenc->chlen = 0;
333 _HZState * __restrict psenc, size_t * __restrict nresult)
343 _DIAGASSERT(psenc != NULL);
346 if (psenc->chlen != 0 || psenc->inuse == NULL)
392 if (psenc->inuse != candidate) {
394 if (SET(psenc->inuse) == SET(candidate)) {
395 if (INIT(psenc->inuse) != init ||
396 psenc->inuse == init || candidate == init)
405 psenc->ch[psenc->chlen++] = ESCAPE_CHAR;
406 psenc->ch[psenc->chlen++] = ESC(init);
411 psenc->ch[psenc->chlen++] = ESCAPE_CHAR;
412 psenc->ch[psenc->chlen++] = ESC(candidate);
413 psenc->inuse = candidate;
421 psenc->ch[psenc->chlen++] = ch | bit;
423 memcpy(s, psenc->ch, psenc->chlen);
424 *nresult = psenc->chlen;
425 psenc->chlen = 0;
436 char * __restrict s, size_t n, _HZState * __restrict psenc,
443 _DIAGASSERT(psenc != NULL);
446 if (psenc->chlen != 0 || psenc->inuse == NULL)
449 if (psenc->inuse != candidate) {
453 psenc->ch[psenc->chlen++] = ESCAPE_CHAR;
454 psenc->ch[psenc->chlen++] = ESC(candidate);
458 if (psenc->chlen > 0)
459 memcpy(s, psenc->ch, psenc->chlen);
460 *nresult = psenc->chlen;
461 _citrus_HZ_init_state(ei, psenc);
468 _HZState * __restrict psenc, int * __restrict rstate)
471 _DIAGASSERT(psenc != NULL);
474 if (psenc->chlen < 0 || psenc->inuse == NULL)
476 *rstate = (psenc->chlen == 0)
477 ? ((psenc->inuse == INIT0(ei))
480 : ((psenc->ch[0] == ESCAPE_CHAR)