-/* $Cambridge: exim/src/src/sieve.c,v 1.3 2004/12/21 09:40:01 ph10 Exp $ */
+/* $Cambridge: exim/src/src/sieve.c,v 1.6 2005/02/17 09:49:08 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/* The code is currently broken. */
#undef SUBADDRESS
-/* Define this for development of the vacation Sieve extension. */
-/* The code is not yet finished. */
+/* Define this for the vacation Sieve extension. */
#define VACATION
/* Must be >= 1 */
}
else
{
- filter->errmsg=CUS "missing closing brace";
+ filter->errmsg=CUS "expecting command or closing brace";
return -1;
}
}
start=capacity;
once=string_cat(filter->vacation_directory,&capacity,&start,US"/",1);
once=string_cat(once,&capacity,&start,hexdigest,33);
+ once[start] = '\0';
/* process subject */
capacity = 0;
start = 0;
addr->reply->headers = string_cat(NULL,&capacity,&start,reason.character,mime_body-reason.character);
+ addr->reply->headers[start] = '\0';
capacity = 0;
start = 0;
- if (mime_body<reason_end) mime_body+=sizeof(nlnl)-1;
+ if (mime_body+(sizeof(nlnl)-1)<reason_end) mime_body+=sizeof(nlnl)-1;
+ else mime_body=reason_end-1;
addr->reply->text = string_cat(NULL,&capacity,&start,mime_body,reason_end-mime_body);
+ addr->reply->text[start] = '\0';
}
else
{