summaryrefslogtreecommitdiff
path: root/wrapper.c
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2010-03-26 15:25:34 +0000
committerJunio C Hamano <gitster@pobox.com>2010-03-28 09:53:04 -0700
commit80d706afed6c6c6fb3ac9c168a6a958244405b45 (patch)
tree18687c3c32ff6cd9a56ec42d1e46413d1ac8ed35 /wrapper.c
parentd1723296af67e6bbadf6e73cd1e921aefafe491f (diff)
downloadgit-80d706afed6c6c6fb3ac9c168a6a958244405b45.tar.gz
Introduce remove_or_warn function
This patch introduces the remove_or_warn function which is a generalised version of the {unlink,rmdir}_or_warn functions. It takes an additional parameter indicating the mode of the file to be removed. The patch also modifies certain functions to use remove_or_warn where appropriate, and adds a test case for a bug fixed by the use of remove_or_warn. Signed-off-by: Peter Collingbourne <peter@pcc.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'wrapper.c')
-rw-r--r--wrapper.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/wrapper.c b/wrapper.c
index 4017bff6bb..10a6750795 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -333,3 +333,8 @@ int rmdir_or_warn(const char *file)
{
return warn_if_unremovable("rmdir", file, rmdir(file));
}
+
+int remove_or_warn(unsigned int mode, const char *file)
+{
+ return S_ISGITLINK(mode) ? rmdir_or_warn(file) : unlink_or_warn(file);
+}