summaryrefslogtreecommitdiff
path: root/lib/libalpm/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libalpm/util.c')
-rw-r--r--lib/libalpm/util.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 17872429..72c17bf9 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -85,7 +85,7 @@ char *mkdtemp(char *template)
/* Save template */
(void) strcpy(t, template);
for (; ; ) {
- r = mktemp(template);
+ r = mkstemp(template);
if (*r == '\0')
return (NULL);
@@ -156,21 +156,21 @@ int _alpm_copyfile(const char *src, const char *dest)
while((len = fread(buf, 1, 4096, in))) {
fwrite(buf, 1, len, out);
}
-
fclose(in);
- fclose(out);
/* chmod dest to permissions of src, as long as it is not a symlink */
struct stat statbuf;
if(!stat(src, &statbuf)) {
if(! S_ISLNK(statbuf.st_mode)) {
- chmod(dest, statbuf.st_mode);
+ fchmod(fileno(out), statbuf.st_mode);
}
} else {
/* stat was unsuccessful */
+ fclose(out);
return(1);
}
+ fclose(out);
return(0);
}