diff --git a/include/ntfs-3g/endians.h b/include/ntfs-3g/endians.h index 66c0fa81..91632f33 100644 --- a/include/ntfs-3g/endians.h +++ b/include/ntfs-3g/endians.h @@ -346,4 +346,6 @@ #define le32_not(a) (~(a)) +#define le64_not(a) (~(a)) + #endif /* defined _NTFS_ENDIANS_H */ diff --git a/ntfsprogs/ntfsclone.c b/ntfsprogs/ntfsclone.c index a9ba4334..f5c3838e 100644 --- a/ntfsprogs/ntfsclone.c +++ b/ntfsprogs/ntfsclone.c @@ -822,7 +822,7 @@ static void copy_cluster(int rescue, u64 rescue_lcn, u64 lcn) mask = const_cpu_to_le64(~0x0ffffffffULL); bs->volume_serial_number = le64_or(le64_and(volume_serial_number, mask), - le64_and(bs->volume_serial_number, ~mask)); + le64_and(bs->volume_serial_number, le64_not(mask))); } /* Show the new full serial after merging */ if (!lcn) diff --git a/ntfsprogs/ntfslabel.c b/ntfsprogs/ntfslabel.c index edc4a974..f4e8d972 100644 --- a/ntfsprogs/ntfslabel.c +++ b/ntfsprogs/ntfslabel.c @@ -259,7 +259,7 @@ static int change_serial(ntfs_volume *vol, u64 sector, le64 serial_number, mask = const_cpu_to_le64(~0x0ffffffffULL); bs->volume_serial_number = le64_or(le64_and(serial_number, mask), - le64_and(bs->volume_serial_number, ~mask)); + le64_and(bs->volume_serial_number, le64_not(mask))); } if (opts.noaction || (ntfs_pwrite(vol->dev,