Fix clone_attr

This commit is contained in:
topjohnwu 2017-08-26 23:19:56 +08:00
parent a1e33c4d2f
commit ecfa4aafc1

View File

@ -379,12 +379,14 @@ int cp_afc(const char *source, const char *target) {
}
void clone_attr(const char *source, const char *target) {
int sourcefd, targetfd;
sourcefd = xopen(source, O_RDONLY);
targetfd = xopen(target, O_RDONLY);
fclone_attr(sourcefd, targetfd);
close(sourcefd);
close(targetfd);
struct stat buf;
lstat(target, &buf);
chmod(target, buf.st_mode & 0777);
chown(target, buf.st_uid, buf.st_gid);
char *con;
lgetfilecon(source, &con);
lsetfilecon(target, con);
free(con);
}
void fclone_attr(const int sourcefd, const int targetfd) {