diff options
author | Jeff King <peff@peff.net> | 2012-08-21 02:10:59 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-08-21 14:46:11 -0700 |
commit | ba8bd8300a544959159f6bd3a7e03ac54f85ea3a (patch) | |
tree | 2b1437e903b77276e6b1cde6d94ec0f61ff472ba /wrapper.c | |
parent | 889d35899ba64640e47798681ecb34a4be043bad (diff) | |
download | git-ba8bd8300a544959159f6bd3a7e03ac54f85ea3a.tar.gz |
config: warn on inaccessible files
Before reading a config file, we check "!access(path, R_OK)"
to make sure that the file exists and is readable. If it's
not, then we silently ignore it.
For the case of ENOENT, this is fine, as the presence of the
file is optional. For other cases, though, it may indicate a
configuration error (e.g., not having permissions to read
the file). Let's print a warning in these cases to let the
user know.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'wrapper.c')
-rw-r--r-- | wrapper.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -403,6 +403,14 @@ int remove_or_warn(unsigned int mode, const char *file) return S_ISGITLINK(mode) ? rmdir_or_warn(file) : unlink_or_warn(file); } +int access_or_warn(const char *path, int mode) +{ + int ret = access(path, mode); + if (ret && errno != ENOENT) + warning(_("unable to access '%s': %s"), path, strerror(errno)); + return ret; +} + struct passwd *xgetpwuid_self(void) { struct passwd *pw; |