/* Return an indication of whether there was an error in the cell header and, if so, where the error was, if it was correctable.  */
static int get_header_err(const guint8 *cell_header)
/* Return an indication of whether there was an error in the cell header and, if so, where the error was, if it was correctable.  */
static int get_header_err(const guint8 *cell_header)
{
  register guint8 syndrome;
  register int    i, err_posn;
  syndrome = 0;
  for (i = 0;  i < 4;  i++)
    syndrome = syndrome_table[syndrome ^ cell_header[i]];
  syndrome ^= cell_header[4] ^ COSET_LEADER;
  err_posn = err_posn_table [syndrome];
  if (err_posn < 0)
    return NO_ERROR_DETECTED;
  else if (err_posn < 40)
    return err_posn;
  else
    return UNCORRECTIBLE_ERROR;
}