Fix dirent64::namelen calculation

Worked fine on my machine where padding seemed to be all zeroed out
but that doesn't appear to be the case elsewhere.

Could try
https://codeberg.org/jbruchon/libjodycode/src/branch/master/dir.c#L92-L110
but needs to be tested.
This commit is contained in:
Antonio SJ Musumeci 2025-09-30 09:19:58 -05:00
parent e6fcebe4f3
commit 4fe0e90bc3

View file

@ -2,6 +2,7 @@
#include <cstddef>
#include <cstdint>
#include <cstring>
namespace fs
{
@ -15,9 +16,10 @@ namespace fs
char name[];
public:
int namelen() const
size_t
namelen() const
{
return (reclen - offsetof(dirent64,name));
return ::strlen(name);
}
};
}