Constify the arguments of ilist.c/h functions
authorPeter Eisentraut <peter@eisentraut.org>
Thu, 12 Jan 2023 07:00:51 +0000 (08:00 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Thu, 12 Jan 2023 07:00:51 +0000 (08:00 +0100)
commitc8ad4d8166aabd6ed5124e7e432166637d0fe646
treebdcd821b33d4d8a904f302cb28379823eb7589ae
parent881fa869c6b0c4e2f310d1c145141dd9d6f53774
Constify the arguments of ilist.c/h functions

Const qualifiers ensure that we don't do something stupid in the
function implementation.  Additionally they clarify the interface.  As
an example:

    void
    slist_delete(slist_head *head, const slist_node *node)

Here one can instantly tell that node->next is not going to be set to
NULL.  Finally, const qualifiers potentially allow the compiler to do
more optimizations.  This being said, no benchmarking was done for
this patch.

The functions that return non-const pointers like slist_next_node(),
dclist_next_node() etc. are not affected by the patch intentionally.

Author: Aleksander Alekseev
Reviewed-by: Andres Freund
Discussion: https://postgr.es/m/CAJ7c6TM2%3D08mNKD9aJg8vEY9hd%2BG4L7%2BNvh30UiNT3kShgRgNg%40mail.gmail.com
src/backend/lib/ilist.c
src/include/lib/ilist.h