From 5d1de359348733896b6d4448a465ce3b7d9d0684 Mon Sep 17 00:00:00 2001 From: Tyge Lovset Date: Mon, 11 Apr 2022 01:22:27 +0200 Subject: Fixed an potential issue with c_eq in template.h and missing usage in clist.h --- include/stc/alt/clist.h | 4 ++-- include/stc/clist.h | 4 ++-- include/stc/template.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'include/stc') diff --git a/include/stc/alt/clist.h b/include/stc/alt/clist.h index 2d22a1b1..2fdaf427 100644 --- a/include/stc/alt/clist.h +++ b/include/stc/alt/clist.h @@ -207,7 +207,7 @@ STC_API size_t _clist_count(const clist_VOID* self); _cx_iter i = it1; \ for (_cx_memb(_next)(&i); i.ref != it2.ref; _cx_memb(_next)(&i)) { \ i_valraw r = i_valto(i.ref); \ - if (!(i_cmp((&r), (&val)))) return it1; \ + if (i_eq((&r), (&val))) return it1; \ it1 = i; \ } \ it1.ref = NULL; return it1; \ @@ -243,7 +243,7 @@ STC_API size_t _clist_count(const clist_VOID* self); while (prev) { \ node = prev->next; \ i_valraw r = i_valto((&node->value)); \ - if (!(i_cmp((&r), (&val)))) \ + if (i_eq((&r), (&val))) \ prev = _cx_memb(_erase_after_)(self, prev), ++n; \ else \ prev = (node == self->last ? NULL : node); \ diff --git a/include/stc/clist.h b/include/stc/clist.h index 0ff59967..6ac9c1cd 100644 --- a/include/stc/clist.h +++ b/include/stc/clist.h @@ -289,7 +289,7 @@ STC_DEF _cx_iter _cx_memb(_find_in)(_cx_iter it1, _cx_iter it2, i_valraw val) { c_foreach (it, _cx_self, it1, it2) { i_valraw r = i_valto(it.ref); - if (!(i_cmp((&r), (&val)))) return it; + if (i_eq((&r), (&val))) return it; } it2.ref = NULL; return it2; } @@ -301,7 +301,7 @@ _cx_memb(_remove)(_cx_self* self, i_valraw val) { while (prev) { node = prev->next; i_valraw r = i_valto((&node->value)); - if (!(i_cmp((&r), (&val)))) + if (i_eq((&r), (&val))) prev = _cx_memb(_erase_after_)(self, prev), ++n; else prev = (node == self->last ? NULL : node); diff --git a/include/stc/template.h b/include/stc/template.h index 53443308..243eec6f 100644 --- a/include/stc/template.h +++ b/include/stc/template.h @@ -217,7 +217,7 @@ #define i_valdrop c_default_drop #endif #if !defined i_eq && defined i_cmp - #define i_eq !i_cmp + #define i_eq(x, y) !(i_cmp(x, y)) #elif !defined i_eq #define i_eq c_default_eq #endif -- cgit v1.2.3