URL:
<http://gna.org/bugs/?22283>
Summary: Poor error reporting on failure to open file
Project: Freeciv
Submitted by: jtn
Submitted on: Sun 06 Jul 2014 12:47:19 BST
Category: None
Severity: 3 - Normal
Priority: 5 - Normal
Status: None
Assigned to: None
Originator Email:
Open/Closed: Open
Release:
Discussion Lock: Any
Operating System: None
Planned Release:
_______________________________________________________
Details:
If a data file isn't present, has no permissions, etc, secfile_error() doesn't
return anything useful (a blank string when I tried).
Fixing this will be quite tedious:
secfile_load()/secfile_load_section() call inf_from_file() in inputfile, which
doesn't have a defined ferror/errno/strerror-type interface.
inf_from_file() calls fz_from_file(), which kind of has such an interface
(fz_strerror()), although it relies on the regular errno which won't be set
for compression-related errors. Also, it's not set for all OS errors.
For instance, support.c:is_reg_file_for_access() can return FALSE for a
non-errno condition, so fz_from_file() can't simply call strerror(), hence we
don't trivially get "file not found" vs "permission denied" in fz_strerror().
Fixing this will require a usable error reporting interface at every layer in
this stack, so that we can get "file not found" from the OS all the way to
secfile_error().
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?22283>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Freeciv-dev mailing list
[email protected]
https://mail.gna.org/listinfo/freeciv-dev