Just show the raw time in seconds since the UNIX epoch instead. Reproducible image (base64-encoded gzipped blob): H4sICACa02gAA3JlcHJvAGNgGAWjYBSMVPDo4dcHvU4WITpANg+DCgM7VPwFM0INE5L6OzNL tafaus7ZdHvpkTy+2l3o5rGjCxAAIGsOODIzlDD8/v//P0gEQsKACphkZAG5QgUqFgpka0LZ 4QyMDKpQdgJQPAzKTgWKR0LZWUjsfE4oIydVLzk/JyUtMyfVAEQYgggjEGGMbD/QYoa3jYwM KUCaA+y6//8ZkeSLK6uyE3NyUovQGaz/YfZgSJHKwBd+YPc5MjHYQvkg94HiK6KjuRHE14OK GyCFnyGQbQhlGwPDJhjKtgDGnp6eHiJIkPwvxYIwHylpoPmfiQq+RWcwk69dUJcG7hllDHUG I7oIKEPDRcTe7jqNqesp5bYzYs0ydGCACy4gwJC6xEWZyWxQH2FVgyifQKW3OlL5xMLAAi8/ 9EtyC/SBGnQzcxPTU9NT84yMjM0MTAwMTI30wQURhMQo9/7Ayz8OcPnEhWQ+K46yko2RjaEi saSkyLCCgQFIwvlGEBKpxA3elv8GrIcJXP4xMWgoQ8wARSLY2zgqOkYoZgLTIJYGM3aVo2AU jIJRMLAAABdVKPsAEAAA
Signed-off-by: Gao Xiang <[email protected]> --- dump/main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dump/main.c b/dump/main.c index 58d489c..f685799 100644 --- a/dump/main.c +++ b/dump/main.c @@ -379,6 +379,7 @@ static void erofsdump_show_fileinfo(bool show_extent) char access_mode_str[] = "rwxrwxrwx"; char timebuf[128] = {0}; unsigned int extent_count = 0; + struct tm *tm; struct erofs_map_blocks map = { .buf = __EROFS_BUF_INITIALIZER, .m_la = 0, @@ -411,8 +412,11 @@ static void erofsdump_show_fileinfo(bool show_extent) path[sizeof(path) - 1] = '\0'; } - strftime(timebuf, sizeof(timebuf), - "%Y-%m-%d %H:%M:%S", localtime((time_t *)&inode.i_mtime)); + tm = localtime((time_t *)&inode.i_mtime); + if (!tm) + sprintf(timebuf, "%lld", (s64)inode.i_mtime | 0LL); + else + strftime(timebuf, sizeof(timebuf), "%Y-%m-%d %H:%M:%S", tm); access_mode = inode.i_mode & 0777; for (i = 8; i >= 0; i--) if (((access_mode >> i) & 1) == 0) -- 2.43.0
