Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]>
---
copy.c | 50 +++++++++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 21 deletions(-)
diff --git a/copy.c b/copy.c
index cdb38d5..00f8349 100644
--- a/copy.c
+++ b/copy.c
@@ -111,8 +111,10 @@ int FAST_FUNC copy_file(const char *source, const char
*dest, int flags)
if (dest_exists) {
if (!S_ISDIR(dest_stat.st_mode))
return error(_("target '%s' is not a
directory"), dest);
- /* race here: user can substitute a symlink between
- * this check and actual creation of files inside dest
*/
+ /*
+ * race here: user can substitute a symlink between
+ * this check and actual creation of files inside dest
+ */
} else {
/* Create DEST */
mode_t mode;
@@ -130,22 +132,24 @@ int FAST_FUNC copy_file(const char *source, const char
*dest, int flags)
if (lstat(dest, &dest_stat) < 0)
return sys_error(_("can't stat '%s'"), dest);
}
- /* remember (dev,inode) of each created dir.
- * NULL: name is not remembered */
+ /*
+ * remember (dev,inode) of each created dir. name is
+ * not remembered
+ */
add_to_ino_dev_hashtable(&dest_stat, NULL);
/* Recursively copy files in SOURCE */
dp = opendir(source);
- if (dp == NULL) {
+ if (!dp) {
retval = -1;
goto preserve_mode_ugid_time;
}
- while ((d = readdir(dp)) != NULL) {
+ while ((d = readdir(dp))) {
char *new_source, *new_dest;
new_source = concat_subpath_file(source, d->d_name);
- if (new_source == NULL)
+ if (!new_source)
continue;
new_dest = concat_path_file(dest, d->d_name);
if (copy_file(new_source, new_dest, flags &
~FILEUTILS_DEREFERENCE_L0) < 0)
@@ -155,16 +159,15 @@ int FAST_FUNC copy_file(const char *source, const char
*dest, int flags)
}
closedir(dp);
- if (!dest_exists
- && chmod(dest, source_stat.st_mode & ~saved_umask) < 0
- ) {
+ if (!dest_exists &&
+ chmod(dest, source_stat.st_mode & ~saved_umask) < 0) {
sys_error(_("can't preserve permissions of '%s'"),
dest);
/* retval = -1; - WRONG! copy *WAS* made */
}
goto preserve_mode_ugid_time;
}
- if (S_ISREG(source_stat.st_mode) ) { /* "cp [-opts] regular_file
thing2" */
+ if (S_ISREG(source_stat.st_mode)) { /* "cp [-opts] regular_file thing2"
*/
int src_fd;
int dst_fd;
mode_t new_mode;
@@ -199,7 +202,7 @@ int FAST_FUNC copy_file(const char *source, const char
*dest, int flags)
if (!S_ISREG(source_stat.st_mode))
new_mode = 0666;
- // POSIX way is a security problem versus (sym)link attacks
+ /* POSIX way is a security problem versus (sym)link attacks */
if (!ENABLE_FEATURE_NON_POSIX_CP) {
dst_fd = open(dest, O_WRONLY|O_CREAT|O_TRUNC, new_mode);
} else { /* safe way: */
@@ -226,13 +229,15 @@ int FAST_FUNC copy_file(const char *source, const char
*dest, int flags)
retval = sys_error(_("error writing to '%s'"), dest);
/* ...but read size is already checked by bb_copyfd_eof */
close(src_fd);
- /* "cp /dev/something new_file" should not
- * copy mode of /dev/something */
+ /*
+ * "cp /dev/something new_file" should not
+ * copy mode of /dev/something
+ */
if (!S_ISREG(source_stat.st_mode))
return retval;
goto preserve_mode_ugid_time;
}
- dont_cat:
+dont_cat:
/* Source is a symlink or a special file */
/* We are lazy here, a bit lax with races... */
@@ -252,20 +257,23 @@ int FAST_FUNC copy_file(const char *source, const char
*dest, int flags)
if (lchown(dest, source_stat.st_uid,
source_stat.st_gid) < 0)
sys_error(_("can't preserve %s of '%s'"),
"ownership", dest);
}
- /* _Not_ jumping to preserve_mode_ugid_time:
- * symlinks don't have those */
+ /*
+ * _Not_ jumping to preserve_mode_ugid_time: symlinks
+ * don't have those
+ */
return 0;
}
- if (S_ISBLK(source_stat.st_mode) || S_ISCHR(source_stat.st_mode)
- || S_ISSOCK(source_stat.st_mode) || S_ISFIFO(source_stat.st_mode)
- ) {
+ if (S_ISBLK(source_stat.st_mode) ||
+ S_ISCHR(source_stat.st_mode) ||
+ S_ISSOCK(source_stat.st_mode) ||
+ S_ISFIFO(source_stat.st_mode)) {
if (mknod(dest, source_stat.st_mode, source_stat.st_rdev) < 0)
return sys_error(_("can't create '%s'"), dest);
} else
return error(_("unrecognized file '%s' with mode %x"),
source, source_stat.st_mode);
- preserve_mode_ugid_time:
+preserve_mode_ugid_time:
if (1 /*FILEUTILS_PRESERVE_STATUS*/) {
struct timeval times[2];
--
2.8.0.rc0.210.gd302cd2
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html