btrfs-progs: Do not add extra slash if given path end with it
authorGu Jinxiang <gujx@cn.fujitsu.com>
Thu, 29 Mar 2018 09:11:19 +0000 (17:11 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 24 Apr 2018 11:00:11 +0000 (13:00 +0200)
When use a given path end with a slash like below,
the output of path will have double slash.

Do not add extra slash if there is already one in the given
path.

$ btrfs filesystem du ./test/
output:
Total   Exclusive  Set shared  Filename
0.00B       0.00B           -  /home/gujx/device/tmp/test//foo

Signed-off-by: Gu Jinxiang <gujx@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
cmds-fi-du.c

index 8a44665..7e6bb7f 100644 (file)
@@ -449,7 +449,7 @@ static int du_add_file(const char *filename, int dirfd,
        }
 
        pathtmp = pathp;
-       if (pathp == path)
+       if (pathp == path || *(pathp - 1) == '/')
                ret = sprintf(pathp, "%s", filename);
        else
                ret = sprintf(pathp, "/%s", filename);