btrfs-progs: build: Do not use cp -a to install library links
[platform/upstream/btrfs-progs.git] / send-dump.c
index 064c914..1591e0c 100644 (file)
@@ -112,11 +112,14 @@ static int __print_dump(int subvol, void *user, const char *path,
        /* Unified header */
        printf("%-16s", title);
        ret = print_path_escaped(out_path);
-       if (!fmt)
+       if (!fmt) {
+               putchar('\n');
                return 0;
-       /* Short paths ale aligned to 32 chars */
-       while (ret++ < 32)
+       }
+       /* Short paths are aligned to 32 chars; longer paths get a single space */
+       do {
                putchar(' ');
+       } while (++ret < 32);
        va_start(args, fmt);
        /* Operation specified ones */
        vprintf(fmt, args);
@@ -271,16 +274,15 @@ static int print_chown(const char *path, u64 uid, u64 gid, void *user)
 
 static int sprintf_timespec(struct timespec *ts, char *dest, int max_size)
 {
-       struct tm *tm;
+       struct tm tm;
        int ret;
 
-       tm = localtime(&ts->tv_sec);
-       if (!tm) {
+       if (!localtime_r(&ts->tv_sec, &tm)) {
                error("failed to convert time %lld.%.9ld to local time",
                      (long long)ts->tv_sec, ts->tv_nsec);
                return -EINVAL;
        }
-       ret = strftime(dest, max_size, "%FT%T%z", tm);
+       ret = strftime(dest, max_size, "%FT%T%z", &tm);
        if (ret == 0) {
                error(
                "time %lld.%ld is too long to convert into readable string",