From 4058eff97f41a2c975679b9fb81e822181a96bd9 Mon Sep 17 00:00:00 2001 From: Tobias Ulmer Date: Wed, 6 Feb 2013 20:25:52 +0100 Subject: [PATCH] Improve read_line doc and return a sensible error message Signed-off-by: Tobias Ulmer --- generic/e2lib.lua | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/generic/e2lib.lua b/generic/e2lib.lua index 9da2cb8..3d38bb6 100644 --- a/generic/e2lib.lua +++ b/generic/e2lib.lua @@ -742,19 +742,24 @@ function e2lib.howtounpack(physpath, virtpath, destdir) end --- Read the first line from the given file and return it. +-- Beware that end of file is considered an error. -- @param path Path to file (string). --- @return The first line or nil on error. +-- @return The first line or false on error. -- @return Error object on failure. function e2lib.read_line(path) local f, msg = io.open(path) if not f then - return nil, err.new("%s", msg) + return false, err.new("%s: %s", path, msg) end local l, msg = f:read("*l") if not l then - return nil, err.new("%s", msg) + if not msg then + msg = "end of file" + end + + f:close() + return false, err.new("%s: %s", path, msg) end - f:close() return l end -- 2.39.5