From a284138bff7a54786949a6e47782bdf5c7d2fd73 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Kou=C5=99il?= Date: Tue, 6 Dec 2011 11:22:34 +0000 Subject: [PATCH] error handling tweaks in read/write --- emi.canl.canl-c/src/canl.c | 45 ++++++++++++--------------------------------- 1 file changed, 12 insertions(+), 33 deletions(-) diff --git a/emi.canl.canl-c/src/canl.c b/emi.canl.canl-c/src/canl.c index 3316e47..2893545 100644 --- a/emi.canl.canl-c/src/canl.c +++ b/emi.canl.canl-c/src/canl.c @@ -426,27 +426,16 @@ size_t canl_io_read(canl_ctx cc, canl_io_handler io, void *buffer, size_t size, { io_handler *io_cc = (io_handler*) io; glb_ctx *glb_cc = (glb_ctx*) cc; - int err = 0; int b_recvd = 0; - errno = 0; - if (!cc) { - return -1; - } + if (!cc) + return EINVAL; /* XXX Should rather be a CANL error */ - if (!io) { - err = EINVAL; - set_error(glb_cc, err, posix_error, "io handler not set" - " (canl_io_read)"); - return -1; - } + if (!io) + return set_error(cc, EINVAL, posix_error, "IO handler not initialized"); - if (!buffer || !size) { - err = EINVAL; - set_error(glb_cc, err, posix_error, "no memory to write into" - " (canl_io_read)"); - return -1; - } + if (!buffer || !size) + return set_error(cc, EINVAL, posix_error, "No memory to write into"); //read something using openssl b_recvd = ssl_read(glb_cc, io_cc, buffer, size, timeout); @@ -462,25 +451,15 @@ size_t canl_io_write(canl_ctx cc, canl_io_handler io, void *buffer, size_t size, io_handler *io_cc = (io_handler*) io; glb_ctx *glb_cc = (glb_ctx*) cc; int b_written = 0; - int err = 0; - errno = 0; - if (!cc) { - return -1; - } + if (!cc) + return EINVAL; /* XXX Should rather be a CANL error */ - if (!io) { - err = EINVAL; - set_error(glb_cc, err, posix_error, "io handler not set" - " (canl_io_write)"); - return -1; - } + if (!io) + return set_error(cc, EINVAL, posix_error, "IO handler not initialized"); - if (!buffer || !size) { - err = EINVAL; - update_error(glb_cc, "nothing to write (canl_io_write)"); - return -1; - } + if (!buffer || !size) + return set_error(cc, EINVAL, posix_error, "No memory to write into"); //write something using openssl b_written = ssl_write(glb_cc, io_cc, buffer, size, timeout); -- 1.8.2.3