From 4bd9f133b7df7a9da61aa88470071876411a42a1 Mon Sep 17 00:00:00 2001 From: Karl Fleischmann Date: Wed, 21 May 2025 11:42:16 +0200 Subject: [PATCH] lib-lua/dlua-iostream: dlua_i_read_common() - Optimize error handling This also makes the error handling more explicit. --- src/lib-lua/dlua-iostream.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib-lua/dlua-iostream.c b/src/lib-lua/dlua-iostream.c index af1e0a6287..2b1bb2caa1 100644 --- a/src/lib-lua/dlua-iostream.c +++ b/src/lib-lua/dlua-iostream.c @@ -189,9 +189,12 @@ static int dlua_i_read_common(lua_State *L, struct dlua_iostream *stream, int fi int nargs = lua_gettop(L) - 1; bool success; int n; - (void)i_stream_read(stream->is); - if (nargs == 0) { + if (i_stream_read(stream->is) < 0 && + stream->is->stream_errno != 0) { + /* Skip to error handling. */ + success = FALSE; + } else if (nargs == 0) { success = dlua_read_line(L, stream, TRUE); n = first + 1; } else { -- 2.47.3