static int prune_dcs(t30_state_t *s)
{
int i;
/* Find the last octet that is really needed, set the extension bits, and trim the message length */
for (i = 18; i > 4; i--)
{
/* Strip the top bit */
s->dcs_frame[i] &= (DISBIT1 | DISBIT2 | DISBIT3 | DISBIT4 | DISBIT5 | DISBIT6 | DISBIT7);
/* Check if there is some real message content here */
if (s->dcs_frame[i])
break;
}
s->dcs_len = i + 1;
/* Fill in any required extension bits */
for (i-- ; i > 4; i--)
s->dcs_frame[i] |= DISBIT8;
#if 1
s->dcs_frame[0] = 0xFF;
s->dcs_frame[1] = 0x13;
s->dcs_frame[2] = 0x83;
s->dcs_frame[3] = 0x00;
s->dcs_frame[4] = 0xC6;
s->dcs_frame[5] = 0x98;
s->dcs_frame[6] = 0x00;
s->dcs_len = 7;
#endif
t30_decode_dis_dtc_dcs(s, s->dcs_frame, s->dcs_len);
return s->dcs_len;
}