btrfs-progs: tests: don't use fallocate in mkfs/014-rootdir-inline-extent
[platform/upstream/btrfs-progs.git] / send-dump.c
index 9cc84c2..1591e0c 100644 (file)
@@ -110,7 +110,16 @@ static int __print_dump(int subvol, void *user, const char *path,
        }
 
        /* Unified header */
-       printf("%-16s%-32s", title, out_path);
+       printf("%-16s", title);
+       ret = print_path_escaped(out_path);
+       if (!fmt) {
+               putchar('\n');
+               return 0;
+       }
+       /* 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);
@@ -265,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",