I'll test very interesting plugin xexec. It seems very nice and can be used in many things. It's compiled perfect with dovecot 1.0, but certanly not with dovecot 1.1. It's stopped with next error:
In file included from cmd-xexec.c:30: xexec.h:8: error: expected specifier-qualifier-list before 'array_t' cmd-xexec.c: In function 'cmd_xexec': cmd-xexec.c:134: error: 'array_t' undeclared (first use in this function) cmd-xexec.c:134: error: (Each undeclared identifier is reported only once cmd-xexec.c:134: error: for each function it appears in.) cmd-xexec.c:134: error: expected ';' before 'union'
I found, that in dovecot 1.1 has been changed some of functions of array init and so on. I'm not programmer :(, just a system admin., but first of all have to check it and trying to resolve by myself.
According examples in ../../lib/array.h I removed array_t and this code is seems ok:
xexec.h struct xexec { ARRAY_DEFINE(setups, struct xexec_setups *); };
and also here:
cmd-xexec.c ARRAY_DEFINE(command, char *);
After, errors cames with
cmd-xexec.c: In function 'cmd_xexec': cmd-xexec.c:144: warning: passing argument 4 of 'client_read_args' from incompatible pointer type cmd-xexec.c:159: warning: assignment from incompatible pointer type cmd-xexec.c:180: warning: implicit declaration of function 'ARRAY_CREATE' cmd-xexec.c:180: error: expected expression before 'char'
As I understand, it is because of (from changelog)
Replaced ARRAY_CREATE() macro with [ipt]_array_init() macros. The macro has no side effects so it might as well be lowercased.
I have look at the array.h, but can't find appropriate function in list of array_create,i_array_init,p_array_init,t_array_init.
Should I just forget about it, until someone adapts code for dovecot 1.1, or maybe it no so complex, as looks?
Thank you.