ClamAV INSTREAM scanning by default, unless built with WITH_OLD_CLAMAV_STREAM.
[exim.git] / src / src / regex.c
index 7d2e366fc530f17bfb5ed506e494b86e019a5637..d502eca13afdaf0dfc0c3498df479168946d39dd 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/regex.c,v 1.4 2005/02/17 11:58:26 ph10 Exp $ */
+/* $Cambridge: exim/src/src/regex.c,v 1.8 2010/06/05 11:13:30 pdp Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -47,7 +47,7 @@ int regex(uschar **listptr) {
 
   if (mime_stream == NULL) {
     /* We are in the DATA ACL */
-    mbox_file = spool_mbox(&mbox_size);
+    mbox_file = spool_mbox(&mbox_size, NULL);
     if (mbox_file == NULL) {
       /* error while spooling */
       log_write(0, LOG_MAIN|LOG_PANIC,
@@ -113,11 +113,11 @@ int regex(uschar **listptr) {
     do {
       /* try matcher on the line */
       if (pcre_exec(re_list_item->re, NULL, CS linebuffer,
-                       (int)Ustrlen(linebuffer), 0, 0, NULL, 0) >= 0) {
+      (int)Ustrlen(linebuffer), 0, 0, NULL, 0) >= 0) {
         Ustrncpy(regex_match_string_buffer, re_list_item->pcre_text, 1023);
         regex_match_string = regex_match_string_buffer;
         if (mime_stream == NULL)
-          fclose(mbox_file);
+          (void)fclose(mbox_file);
         else {
           clearerr(mime_stream);
           fseek(mime_stream,f_pos,SEEK_SET);
@@ -129,7 +129,7 @@ int regex(uschar **listptr) {
   };
 
   if (mime_stream == NULL)
-    fclose(mbox_file);
+    (void)fclose(mbox_file);
   else {
     clearerr(mime_stream);
     fseek(mime_stream,f_pos,SEEK_SET);
@@ -210,7 +210,7 @@ int mime_regex(uschar **listptr) {
 
 
   /* open file */
-  f = fopen(CS mime_decoded_filename, "r");
+  f = fopen(CS mime_decoded_filename, "rb");
   if (f == NULL) {
     /* open failed */
     log_write(0, LOG_MAIN,
@@ -232,13 +232,13 @@ int mime_regex(uschar **listptr) {
                   mime_subject_len, 0, 0, NULL, 0) >= 0) {
       Ustrncpy(regex_match_string_buffer, re_list_item->pcre_text, 1023);
       regex_match_string = regex_match_string_buffer;
-      fclose(f);
+      (void)fclose(f);
       return OK;
     };
     re_list_item = re_list_item->next;
   } while (re_list_item != NULL);
 
-  fclose(f);
+  (void)fclose(f);
 
   /* no matches ... */
   return FAIL;