The function htonll is not provided by the standard library and we can
replace it by our cpu-to-XX helpers. This switches the endianity of the
checksummed value to LE, but this is not a problem.
Signed-off-by: David Sterba <dsterba@suse.com>
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
+
+#include "kerncompat.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define SEEK_HOLE 4
#endif
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define htonll(x) __bswap_64 (x)
-#else
-#define htonll(x) (x)
-#endif
-
/* TODO: add hardlink recognition */
/* TODO: add xattr/acl */
void
sum_add_u64(sum_t *dst, uint64_t val)
{
- uint64_t v = htonll(val);
+ uint64_t v = cpu_to_le64(val);
sum_add(dst, &v, sizeof(v));
}