ref: d811f584142a7cc4cc592633f56e4a9514b098b0
parent: e0099ab67ad94cce497c1a04da78511344dafc31
author: gkostka <kostka.grzegorz@gmail.com>
date: Tue Oct 27 16:40:36 EDT 2015
Refactor ext4_offsetof to offsetof and move to ext4_types.h
--- a/lwext4/ext4_config.h
+++ b/lwext4/ext4_config.h
@@ -133,16 +133,7 @@
#define CONFIG_EXTENT_FULL 1
#endif
-#ifdef __GNUC__
-#ifndef __unused
-#define __unused __attribute__ ((__unused__))
-#endif
-#endif
-#ifndef ext4_offsetof
-#define ext4_offsetof(type, field) \
- ((long)(&(((type *)0)->field)))
-#endif
#endif /* EXT4_CONFIG_H_ */
--- a/lwext4/ext4_fs.c
+++ b/lwext4/ext4_fs.c
@@ -855,7 +855,7 @@
if (inode_size > EXT4_GOOD_OLD_INODE_SIZE)
ext4_inode_set_extra_isize(inode,
sizeof(struct ext4_inode) -
- ext4_offsetof(struct ext4_inode,
+ offsetof(struct ext4_inode,
extra_isize));
/* Reset blocks array. For symbolic link inode, just
--- a/lwext4/ext4_super.c
+++ b/lwext4/ext4_super.c
@@ -83,7 +83,7 @@
static uint32_t ext4_sb_csum(struct ext4_sblock *s)
{
return ext4_crc32c(~0, s,
- ext4_offsetof(struct ext4_sblock, checksum));
+ offsetof(struct ext4_sblock, checksum));
}
static bool ext4_sb_verify_csum(struct ext4_sblock *s)
--- a/lwext4/ext4_types.h
+++ b/lwext4/ext4_types.h
@@ -46,6 +46,7 @@
#include "ext4_blockdev.h"
#include "tree.h"
+#include <stddef.h>
#include <stdint.h>
#define EXT4_CHECKSUM_CRC32C 1
@@ -932,6 +933,18 @@
#define ext4_set8 \
(s, f, v) do { (s)->f = (v); } \
while (0)
+
+
+#ifdef __GNUC__
+#ifndef __unused
+#define __unused __attribute__ ((__unused__))
+#endif
+#endif
+
+#ifndef offsetof
+#define offsetof(type, field) \
+ ((size_t)(&(((type *)0)->field)))
+#endif
#endif /* EXT4_TYPES_H_ */