postgres.git / summary / log / commit / refs

commit    d5ca15ee54bf7faf038a38408e8adec971740966
Author:   Nathan Bossart <nathan@postgresql.org>
Date:     Tue Oct 15 21:20:49 2024 +0000

    Add type cast to foreach_internal's loop variable.
    
    C++ requires explicitly casting void pointers to the appropriate
    pointer type, which means the foreach_ptr macro cannot be used in
    C++ code without this change.
    
    Author: Jelte Fennema-Nio
    Reviewed-by: Bruce Momjian
    Discussion: https://postgr.es/m/CAGECzQSYG3QfHrc-rOk2KbnB9iJOd7Qu-Xii1s-GTA%3D3JFt49Q%40mail.gmail.com
    Backpatch-through: 17


src/include/nodes/pg_list.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/include/nodes/pg_list.h b/src/include/nodes/pg_list.h index 52df93759f7..d131350e107 100644 --- a/src/include/nodes/pg_list.h +++ b/src/include/nodes/pg_list.h @@ -485,7 +485,7 @@ for_each_cell_setup(const List *lst, const ListCell *initcell) for (ForEachState var##__state = {(lst), 0}; \ (var##__state.l != NIL && \ var##__state.i < var##__state.l->length && \ - (var = func(&var##__state.l->elements[var##__state.i]), true)); \ + (var = (type pointer) func(&var##__state.l->elements[var##__state.i]), true)); \ var##__state.i++) /* [parent: 2453196107de]