From a988a7877e50a4a61d452d8e5544de3faa207d5c Mon Sep 17 00:00:00 2001 From: Nathan Fisher Date: Tue, 19 Dec 2023 06:59:57 -0500 Subject: [PATCH] If hardlink exists, remove it before attempting to recreate it --- haggis.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/haggis.c b/haggis.c index 6686f18..820a194 100644 --- a/haggis.c +++ b/haggis.c @@ -832,6 +832,8 @@ int haggis_extract_hardlink(haggis_node *node, char *basedir) { } fclose(fd); } + if (access(path, F_OK) == 0) + unlink(path); ret = link(target, path); free(path); free(target); @@ -888,7 +890,7 @@ char* haggis_extract_file(haggis_node *node, char *basedir) { int haggis_extract_node(char *basedir, haggis_node *node, haggis_mq *mq) { haggis_msg *msg; char *path, *dir, *fullpath; - int ret; + int ret = 0; path = get_full_path(&node->name, basedir); dir = dirname(strndup(path, PATH_MAX));