From 4a350d3b3ce179ae7a543465828a071fabc345f8 Mon Sep 17 00:00:00 2001 From: Andreas Ziermann Date: Fri, 27 Nov 2015 11:03:58 +0100 Subject: ar: rename of temporary libary fails on some platforms if the destination already exists, rename (tempname, archive) will fail, add unlink() first. --- ar/ar.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ar/ar.c b/ar/ar.c index f808a3a..edba227 100644 --- a/ar/ar.c +++ b/ar/ar.c @@ -1052,8 +1052,11 @@ write_archive (map, appendflag) close (outdesc); if (!appendflag) - if (rename (tempname, archive)) - pfatal_with_name (tempname); + { + unlink(archive); + if (rename (tempname, archive)) + pfatal_with_name (tempname); + } close_archive (); } -- cgit v1.2.1