[Dovecot] xexec and dovecot 1.1

subscriber at viliar.net.ru subscriber at viliar.net.ru
Tue Mar 18 14:48:52 EET 2008


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.







More information about the dovecot mailing list