From: Glenn Burkhardt Date: Mon, 22 Sep 2003 00:43:09 +0000 (+0000) Subject: status of action wasn't saved for use by 'N' result, so when 'N' was X-Git-Tag: RELEASE_1_2~77 X-Git-Url: http://git.marmaro.de/?p=mmh;a=commitdiff_plain;h=571c5da9d8529e029fb478ee1f47057e0ebb6762 status of action wasn't saved for use by 'N' result, so when 'N' was used slocal could perform the action even if the previous action failed. Debian bug report #149745, filed by Daniel Müller. --- diff --git a/uip/slocal.c b/uip/slocal.c index b176008..6bf3e15 100644 --- a/uip/slocal.c +++ b/uip/slocal.c @@ -460,7 +460,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]; @@ -664,6 +664,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++; }