The Samba-Bugzilla – Bug 1891
OpenVMS ino_t is 48 bits on VAX and older VMS releases.
Last modified: 2010-04-26 03:45:20 UTC
Platform set to "OTHER" as primarily affects VAX.
The ino_t type on OpenVMS VAX is 48 bits and can not be represented as an
integer type, as the largest integer type that can be handled by the compiler is
The supplied OpenVMS header files provide the ino_t type as unsigned short .
It is also possible to provide an alternate representation of the ino_t type as
a structure containing three unsigned short members.
This is essentially also the case for OpenVMS on Alpha prior to Version 8.2.
In order to accomodate OpenVMS VAX, etcetera, memcpy() and memcmp() need to used
on ino_t operations, or loss of data will occur.
As the overhead for memcpy() and memcmp() (assuming the compiler does not
optimize the calls) is not needed for other cases, including OpenVMS 8.2 on
Alpha and Itaninum, the proposed change would be to use a set of macros to do
the assignment and comparison.
These macros would default to making a direct assignment or compare, unless
there is an existing macro defined in the config.h file.
If it's still broken in 3.5, please reopen.
3.0 isn't supported anymore.