Use only one write(2) call per frame start

Use only one write(2) call per frame start in src/kiss.c
This commit is contained in:
XANTRONIX Development 2020-05-27 18:57:26 -04:00 committed by XANTRONIX Industrial
parent d7ab08338c
commit 54a521e8a8

View file

@ -229,8 +229,15 @@ static inline ssize_t write_byte(int fd, uint8_t c) {
return write(fd, &c, sizeof(c));
}
static inline ssize_t write_command(int fd, int command, int port) {
return write_byte(fd, ((port & 0x0f) << 4) | (command & 0x0f));
static inline ssize_t write_start(int fd,
enum patty_kiss_command command,
int port) {
uint8_t start[2] = {
PATTY_KISS_FEND,
((port & 0x0f) << 4) | (command & 0x0f)
};
return write(fd, start, sizeof(start));
}
static uint8_t escape_fend[2] = { PATTY_KISS_FESC, PATTY_KISS_TFEND };
@ -242,11 +249,7 @@ ssize_t patty_kiss_tnc_send(patty_kiss_tnc *tnc,
int port) {
size_t i, start = 0, end = 0;
if (write_byte(tnc->fd, PATTY_KISS_FEND) < 0) {
goto error_io;
}
if (write_command(tnc->fd, PATTY_KISS_DATA, port) < 0) {
if (write_start(tnc->fd, PATTY_KISS_DATA, port) < 0) {
goto error_io;
}