rem: fprintf(stderr, "\n(ecasoundc_sa) Warning! read() error!\n");
add: ECI_DEBUG("\n(ecasoundc_sa) Warning! read() error!\n");
context: void eci_impl_read_return_value(struct eci_internal* eci_rep){  char* raw_buffer = eci_rep->raw_buffer_repp;  int attempts = 0;  assert(eci_rep->commands_counter_rep >=	 eci_rep->parser_repp->last_counter_rep);  while(attempts < ECI_MAX_RESYNC_ATTEMPTS) {    int res = eci_impl_fd_read(eci_rep->cmd_read_fd_rep, raw_buffer, ECI_MAX_PARSER_BUF_SIZE-1, 2000);    if (res > 0) {      int n;      raw_buffer[res] = 0;      /* fprintf(stderr, "\n(ecasoundc_sa) read %u bytes:\n--cut--\n%s\n--cut--\n", res, raw_buffer); */      for(n = 0; n < res; n++) {	/* int old = eci_rep->parser_repp->state_rep; */	eci_impl_update_state(eci_rep->parser_repp, raw_buffer[n]);	/* if (old != eci_rep->parser_repp->state_rep) fprintf(stderr, "state change %d-%d, c=[%02X].\n", old, eci_rep->parser_repp->state_rep, raw_buffer[n]); */      }      if (eci_rep->commands_counter_rep ==	  eci_rep->parser_repp->last_counter_rep) break;      /* read return values until the correct one is found */    }    else {      if (res < 0) {	fprintf(stderr, "(ecasoundc_sa) timeout when reading return values (attempts=%d)!\n", attempts);	break;      }    }    ++attempts;  }  if (eci_rep->commands_counter_rep !=      eci_rep->parser_repp->last_counter_rep) {    fprintf(stderr, "\n(ecasoundc_sa) Warning! read() error!\n");  }}