If we are trying to open an empty file, skip the attempts to parse the
input and report an appropriate error message.

Signed-off-by: Miika Turkia <[email protected]>
---
 file.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/file.c b/file.c
index 0b893dc..8522b2e 100644
--- a/file.c
+++ b/file.c
@@ -447,13 +447,15 @@ int parse_file(const char *filename)
        if (git && !git_load_dives(git, branch))
                return 0;
 
-       if (readfile(filename, &mem) < 0) {
+       if ((ret = readfile(filename, &mem)) < 0) {
                /* we don't want to display an error if this was the default 
file or the cloud storage */
                if ((prefs.default_filename && !strcmp(filename, 
prefs.default_filename)) ||
                    isCloudUrl(filename))
                        return 0;
 
                return report_error(translate("gettextFromC", "Failed to read 
'%s'"), filename);
+       } else if (ret == 0) {
+               return report_error(translate("gettextFromC", "Empty file 
'%s'"), filename);
        }
 
        fmt = strrchr(filename, '.');
-- 
2.1.4

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to