}
}
- if (cinfo->unread_marker != 0 && ! cinfo->entropy->insufficient_data) {
- WARNMS(cinfo, JWRN_HIT_MARKER);
- cinfo->entropy->insufficient_data = TRUE;
+ if (cinfo->unread_marker != 0) {
+ cinfo->unread_marker = 0;
+ return FALSE;
}
br_state.bytes_in_buffer -= (buffer - br_state.next_input_byte);
if (! entropy->pub.insufficient_data) {
if (usefast) {
- if (!decode_mcu_fast(cinfo, MCU_data)) return FALSE;
+ if (!decode_mcu_fast(cinfo, MCU_data)) goto use_slow;
}
else {
+ use_slow:
if (!decode_mcu_slow(cinfo, MCU_data)) return FALSE;
}