From: Karsten Blees Date: Tue, 15 Jul 2014 22:54:30 +0000 (+0200) Subject: config: use chmod() instead of fchmod() X-Git-Tag: v2.1.0-rc0~17^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=2569d23915471f1727e5945c513b8be299eefa0c;p=git-core%2Fgit.git config: use chmod() instead of fchmod() There is no fchmod() on native Windows platforms (MinGW and MSVC), and the equivalent Win32 API (SetFileInformationByHandle) requires Windows Vista. Use chmod() instead. Signed-off-by: Karsten Blees Signed-off-by: Junio C Hamano --- diff --git a/config.c b/config.c index 62de69e14..9c01c21ce 100644 --- a/config.c +++ b/config.c @@ -1634,8 +1634,8 @@ int git_config_set_multivar_in_file(const char *config_filename, MAP_PRIVATE, in_fd, 0); close(in_fd); - if (fchmod(fd, st.st_mode & 07777) < 0) { - error("fchmod on %s failed: %s", + if (chmod(lock->filename, st.st_mode & 07777) < 0) { + error("chmod on %s failed: %s", lock->filename, strerror(errno)); ret = CONFIG_NO_WRITE; goto out_free; @@ -1813,8 +1813,8 @@ int git_config_rename_section_in_file(const char *config_filename, fstat(fileno(config_file), &st); - if (fchmod(out_fd, st.st_mode & 07777) < 0) { - ret = error("fchmod on %s failed: %s", + if (chmod(lock->filename, st.st_mode & 07777) < 0) { + ret = error("chmod on %s failed: %s", lock->filename, strerror(errno)); goto out; }