Sergey Bugaev, le mar. 09 mai 2023 00:31:07 +0300, a ecrit: > GCC was complaining about the mismatch in types between the 'fn' pointer > and the function pointers assigned to it. Since fn is meant to be used > with different function types, represent it as a 'void *' and not a > pointer to any particular function type. > --- > libps/ps.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libps/ps.h b/libps/ps.h > index 192847b5..3e59c66a 100644 > --- a/libps/ps.h > +++ b/libps/ps.h > @@ -535,7 +535,7 @@ struct ps_getter > > /* A function that will get the value; the protocol between this function > and its caller is type-dependent. */ > - void (*fn) (void); > + void *fn;
Mmm, IIRC, strictly speaking, a function pointer is not the same as a pointer, on some odd archs such as ia64 it makes a difference. Samuel