int jpc_mqenc_flush(jpc_mqenc_t *mqenc, int termmode) { int_fast16_t k; switch (termmode) { case JPC_MQENC_PTERM: k = 11 - mqenc->ctreg + 1; while (k > 0) { mqenc->creg <<= mqenc->ctreg; mqenc->ctreg = 0; jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); k -= mqenc->ctreg; } if (mqenc->outbuf != 0xff) { jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); } break; case JPC_MQENC_DEFTERM: jpc_mqenc_setbits(mqenc); mqenc->creg <<= mqenc->ctreg; jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); mqenc->creg <<= mqenc->ctreg; jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); if (mqenc->outbuf != 0xff) { jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); } break; default: abort(); break; } return 0; }
int jpc_mqenc_flush(jpc_mqenc_t *mqenc, int termmode) { int_fast16_t k; switch (termmode) { case JPC_MQENC_PTERM: k = 11 - mqenc->ctreg + 1; while (k > 0) { mqenc->creg <<= mqenc->ctreg; mqenc->ctreg = 0; jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); k -= mqenc->ctreg; } if (mqenc->outbuf != 0xff) { jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); } break; case JPC_MQENC_DEFTERM: jpc_mqenc_setbits(mqenc); mqenc->creg <<= mqenc->ctreg; jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); mqenc->creg <<= mqenc->ctreg; jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); if (mqenc->outbuf != 0xff) { jpc_mqenc_byteout(mqenc->areg, mqenc->creg, mqenc->ctreg, mqenc); } break; default: jas_error( JAS_ERR_UNSUPPORTED_TERMMODE_JPC_MQENC_FLUSH, "JAS_ERR_UNSUPPORTED_TERMMODE_JPC_MQENC_FLUSH" ); return -1; /*none of the calling functions actually check the return code.*/ break; } return 0; }