From 5187ccffa29000918ed0e0ab38d6569e01d8b6af Mon Sep 17 00:00:00 2001 From: Emil Lerch Date: Thu, 30 Mar 2023 12:05:24 -0700 Subject: [PATCH] add return code handling --- lib/i2cdriver/i2cdriver.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/i2cdriver/i2cdriver.c b/lib/i2cdriver/i2cdriver.c index a3a5ac2..b8ad652 100644 --- a/lib/i2cdriver/i2cdriver.c +++ b/lib/i2cdriver/i2cdriver.c @@ -177,7 +177,13 @@ int readFromSerialPort(int fd, uint8_t *b, size_t s) void writeToSerialPort(int fd, const uint8_t *b, size_t s) { - write(fd, b, s); + if (write(fd, b, s) == -1){ + printf("WRITE FAILED %u: ", (int)s); + int i; + for (i = 0; i < s; i++) + printf("%02x ", 0xff & b[i]); + printf("\n"); + } #ifdef VERBOSE printf("WRITE %u: ", (int)s); int i; @@ -526,7 +532,7 @@ int i2c_commands(I2CDriver *sd, int argc, char *argv[]) i2c_monitor(sd, 1); printf("[Hit return to exit monitor mode]\n"); - fgets(line, sizeof(line) - 1, stdin); + if (!fgets(line, sizeof(line) - 1, stdin)) return 1; i2c_monitor(sd, 0); } break;