summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/dload.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libalpm/dload.c')
-rw-r--r--lib/libalpm/dload.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index 2e50544b..2fcf6aa1 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -322,13 +322,12 @@ static int download(const char *url, const char *localpath,
*/
const char *sourcefile = url + len;
const char *filename = get_filename(url);
- const char *destfile = get_destfile(localpath, filename);
+ char *destfile = get_destfile(localpath, filename);
- if(_alpm_copyfile(sourcefile, destfile) == 0) {
- return(0);
- } else {
- return(-1);
- }
+ ret = _alpm_copyfile(sourcefile, destfile);
+ FREE(destfile);
+ /* copyfile returns 1 on failure, we want to return -1 on failure */
+ return(ret ? -1 : 0);
}
if(handle->xfercommand == NULL) {