diff options
author | corvid <devnull@localhost> | 2016-07-03 16:09:21 +0000 |
---|---|---|
committer | corvid <devnull@localhost> | 2016-07-03 16:09:21 +0000 |
commit | b6247cde66c1450a6fccde9bfb100ee776af2571 (patch) | |
tree | dcf0428c2c82f3b1f312a73d10cd698d45980856 /src/IO/IO.c | |
parent | 7287048f684a10d7cc0b47454eaeced4845a4cae (diff) |
use mbed TLS
Diffstat (limited to 'src/IO/IO.c')
-rw-r--r-- | src/IO/IO.c | 23 |
1 files changed, 17 insertions, 6 deletions
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 */ |