- printf("%s:\n", path.c_str());
- printf(" ino=%Ld, perm=%04o, uid=%d, gid=%d, nlink=%d, blksize=%d, size=%Ld\n",
- (int64_t)stat_buf.st_ino, stat_buf.st_mode & 07777,
- stat_buf.st_uid, stat_buf.st_gid, stat_buf.st_nlink,
- (int)stat_buf.st_blksize, (int64_t)stat_buf.st_size);
+ printf("%s\n", path.c_str());
+
+ file_info["mode"] = encode_u16(stat_buf.st_mode & 07777);
+ file_info["atime"] = encode_u64(encode_time(stat_buf.st_atime));
+ file_info["ctime"] = encode_u64(encode_time(stat_buf.st_ctime));
+ file_info["mtime"] = encode_u64(encode_time(stat_buf.st_mtime));
+ file_info["user"] = encode_u32(stat_buf.st_uid);
+ file_info["group"] = encode_u32(stat_buf.st_gid);
+
+ char inode_type;