On 17.11.19 12:41, Philippe Gerum via Xenomai wrote:
Since zero is the offset pointing at the AVL tree anchor, it cannot be
used for representing a NULL link. Use (ptrdiff_t)-1 instead.
Signed-off-by: Philippe Gerum <r...@xenomai.org>
---
include/boilerplate/avl-inner.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/boilerplate/avl-inner.h b/include/boilerplate/avl-inner.h
index 8e4de8487..9c0576213 100644
--- a/include/boilerplate/avl-inner.h
+++ b/include/boilerplate/avl-inner.h
@@ -105,14 +105,14 @@ shavlh_link(const struct shavl *const avl,
const struct shavlh *const holder, unsigned int dir)
{
ptrdiff_t offset = holder->link[avl_type2index(dir)].offset;
- return offset ? (void *)avl + offset : NULL;
+ return offset == (ptrdiff_t)-1 ? NULL : (void *)avl + offset;
}
static inline void
shavlh_set_link(struct shavl *const avl, struct shavlh *lhs,
int dir, struct shavlh *rhs)
{
- ptrdiff_t offset = rhs ? (void *)rhs - (void *)avl : 0;
+ ptrdiff_t offset = rhs ? (void *)rhs - (void *)avl : (ptrdiff_t)-1;
lhs->link[avl_type2index(dir)].offset = offset;
}
@@ -120,13 +120,13 @@ static inline
struct shavlh *shavl_end(const struct shavl *const avl, int dir)
{
ptrdiff_t offset = avl->end[avl_type2index(dir)].offset;
- return offset ? (void *)avl + offset : NULL;
+ return offset == (ptrdiff_t)-1 ? NULL : (void *)avl + offset;
}
static inline void
shavl_set_end(struct shavl *const avl, int dir, struct shavlh *holder)
{
- ptrdiff_t offset = holder ? (void *)holder - (void *)avl : 0;
+ ptrdiff_t offset = holder ? (void *)holder - (void *)avl :
(ptrdiff_t)-1;
avl->end[avl_type2index(dir)].offset = offset;
}
Thanks, all applied to next.
But, again, please always add a proper "From:" line to the commit so
that I do not need to manually edit all of them to avoid the infamous
"Philippe Gerum via Xenomai <xenomai@xenomai.org>" entries. TIA.
Jan
--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux