bruns added inline comments. INLINE COMMENTS
> file_unix.cpp:286 > inline static uint16_t stat_mode(struct statx &buf) { return buf.stx_mode; } > -inline static uint32_t stat_dev(struct statx &buf) { return > buf.stx_dev_major; } > +inline static uint32_t stat_dev(struct statx &buf) { return > (buf.stx_dev_major * 100) + buf.stx_dev_minor; } > inline static uint64_t stat_ino(struct statx &buf) { return buf.stx_ino; } ` * 100` is definitely wrong - maybe `* 0x100`, but ... TLDR: use `makedev`, and change the return type to dev_t. dev_t is defined as a 64bit type atleast on Linux, which matches the 32bit major/minor parts of buf.stx_dev_*. Traditionally, major/minor are used as low/high bytes of a 16 bit type, but these can easily exhausted on a larger system. So this is was makedev does: #define __SYSMACROS_DEFINE_MAKEDEV(DECL_TEMPL) \ __SYSMACROS_DECLARE_MAKEDEV (DECL_TEMPL) \ { \ __dev_t __dev; \ __dev = (((__dev_t) (__major & 0x00000fffu)) << 8); \ __dev |= (((__dev_t) (__major & 0xfffff000u)) << 32); \ __dev |= (((__dev_t) (__minor & 0x000000ffu)) << 0); \ __dev |= (((__dev_t) (__minor & 0xffffff00u)) << 12); \ return __dev; \ } REPOSITORY R241 KIO REVISION DETAIL https://phabricator.kde.org/D28478 To: ahmadsamir, #frameworks, dfaure, meven Cc: bruns, kde-frameworks-devel, LeGast00n, cblack, GB_2, michaelh, ngraham