* libdiskfs/diskfs.h (diskfs_node_disknode, diskfs_disknode_node): Declare functions as `extern inline' so that we can use them in other functions declared as `extern inline'. --- libdiskfs/diskfs.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h index 7a21dff..8ab6142 100644 --- a/libdiskfs/diskfs.h +++ b/libdiskfs/diskfs.h @@ -697,9 +697,11 @@ struct node *diskfs_make_node_alloc (size_t size); this value for offset calculations. */ extern const size_t _diskfs_sizeof_struct_node; +#if defined(__USE_EXTERN_INLINES) || defined(DISKFS_DEFINE_EXTERN_INLINE) + /* Return the address of the disknode for NODE. NODE must have been allocated using diskfs_make_node_alloc. */ -static inline struct disknode * +DISKFS_EXTERN_INLINE struct disknode * diskfs_node_disknode (struct node *node) { return (struct disknode *) ((char *) node + _diskfs_sizeof_struct_node); @@ -707,12 +709,14 @@ diskfs_node_disknode (struct node *node) /* Return the address of the node for DISKNODE. DISKNODE must have been allocated using diskfs_make_node_alloc. */ -static inline struct node * +DISKFS_EXTERN_INLINE struct node * diskfs_disknode_node (struct disknode *disknode) { return (struct node *) ((char *) disknode - _diskfs_sizeof_struct_node); } +#endif /* Use extern inlines. */ + /* The library also exports the following functions; they are not generally useful unless you are redefining other functions the library provides. */ -- 2.1.4