From b6247cde66c1450a6fccde9bfb100ee776af2571 Mon Sep 17 00:00:00 2001 From: corvid Date: Sun, 3 Jul 2016 16:09:21 +0000 Subject: use mbed TLS --- src/IO/IO.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/IO/IO.c') diff --git a/src/IO/IO.c b/src/IO/IO.c index 4312fddb..3a2c0332 100644 --- a/src/IO/IO.c +++ b/src/IO/IO.c @@ -37,7 +37,7 @@ typedef struct { int Op; /* IORead | IOWrite */ int FD; /* Current File Descriptor */ int Flags; /* Flag array (look definitions above) */ - int Status; /* errno code */ + int Status; /* nonzero upon IO failure */ Dstr *Buf; /* Internal buffer */ void *Info; /* CCC Info structure for this IO */ @@ -184,9 +184,14 @@ static bool_t IO_read(IOData_t *io) ret = TRUE; break; } else { - io->Status = errno; - MSG("READ Failed: %s\n", strerror(errno)); - break; + if (conn) { + io->Status = St; + break; + } else { + io->Status = errno; + MSG("READ Failed with %d: %s\n", St, strerror(errno)); + break; + } } } else { /* St == 0 */ break; @@ -234,8 +239,14 @@ static bool_t IO_write(IOData_t *io) ret = TRUE; break; } else { - io->Status = errno; - break; + if (conn) { + io->Status = St; + break; + } else { + io->Status = errno; + MSG("WRITE Failed with %d: %s\n", St, strerror(errno)); + break; + } } } else if (St < io->Buf->len) { /* Not all data written */ -- cgit v1.2.3