// ----------------------------------------------------------------------- void * cchar_term_worker(void *ptr) { struct cchar_unit_proto_t *unit = ptr; char data; int res; static int counter; while (1) { res = term_read(UNIT->term, &data, 1); if (res <= 0) { continue; } if (data == 10) { cchar_term_queue_char(unit, 10); cchar_term_queue_char(unit, 13); counter++; } else if (data == 13) { continue; } else { cchar_term_queue_char(unit, data); } } pthread_exit(NULL); }
// ----------------------------------------------------------------------- void * cchar_term_worker(void *ptr) { struct cchar_unit_proto_t *unit = (struct cchar_unit_proto_t *) ptr; char data; int res; while (1) { res = term_read(UNIT->term, &data, 1); usleep(1000); if ((res <= 0) || (data == 10)) { continue; } cchar_term_queue_char(unit, data); } pthread_exit(NULL); }