Signed-off-by: Nguyễn Thái Ngọc Duy <pclo...@gmail.com>
---
 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.7.0.377.g4cd97dd

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to