there. */
struct file_identity
{
- dev_t device; /* Device number. */
- ino_t inode; /* Inode number. */
+ unsigned long long device; /* Device number. */
+ unsigned long long inode; /* Inode number. */
char *name; /* File name, where needed, otherwise NULL. */
};
if (ok)
{
identity->device = fi.dwVolumeSerialNumber;
- identity->inode = fi.nFileIndexHigh << 16 | fi.nFileIndexLow;
+ identity->inode = fi.nFileIndexHigh;
+ identity->inode <<= (sizeof fi.nFileIndexLow) * CHAR_BIT;
+ identity->inode |= fi.nFileIndexLow;
identity->name = 0;
}
CloseHandle (h);