X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fslocal.c;h=bbf1850615034813236eae29014838b0ab8d60cc;hp=74f1b57e8c87fd343913b7d8b3b574b76e926a15;hb=08baf4f8bc7623c41a9753c71aed9a4042196aac;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68 diff --git a/uip/slocal.c b/uip/slocal.c index 74f1b57..bbf1850 100644 --- a/uip/slocal.c +++ b/uip/slocal.c @@ -52,8 +52,17 @@ extern int initgroups(char*, int); #ifdef HAVE_DB1_NDBM_H #include #else +#ifdef HAVE_GDBM_NDBM_H +#include +#else +#if defined(HAVE_DB_H) && defined(HAVE_LIBDB) +#define DB_DBM_HSEARCH 1 +#include +#else #include #endif +#endif +#endif #include @@ -456,7 +465,7 @@ localmail (int fd, char *mdlvr) static int usr_delivery (int fd, char *delivery, int su) { - int i, accept, status, won, vecp, next; + int i, accept, status=1, won, vecp, next; char *field, *pattern, *action, *result, *string; char buffer[BUFSIZ], tmpbuf[BUFSIZ]; char *cp, *vec[NVEC]; @@ -660,6 +669,8 @@ usr_delivery (int fd, char *delivery, int su) break; } + if (status) next = 0; /* action failed, mark for 'N' result */ + if (accept && status == 0) won++; }