more info from -p

Clint Adams schizo at debian.org
Sat Sep 21 22:14:32 CEST 2002


This is a slightly-modified patch from Zeph Hull which would add
spamicity info in X-Spam-Status.

Index: bogofilter.c
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/bogofilter.c,v
retrieving revision 1.11
diff -u -r1.11 bogofilter.c
--- bogofilter.c	19 Sep 2002 03:20:32 -0000	1.11
+++ bogofilter.c	21 Sep 2002 20:11:57 -0000
@@ -601,7 +601,7 @@
     return spamicity;
 }
 
-rc_t bogofilter(int fd)
+rc_t bogofilter(int fd, double *xss)
 /* evaluate text for spamicity */
 {
     rc_t	status;
@@ -619,6 +619,9 @@
     spamicity = compute_spamicity(stats);
 
     status = (spamicity > SPAM_CUTOFF) ? RC_SPAM : RC_NONSPAM;
+
+    if (xss != NULL)
+        *xss = spamicity;
 
     return status;
 }
Index: bogofilter.h
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/bogofilter.h,v
retrieving revision 1.3
diff -u -r1.3 bogofilter.h
--- bogofilter.h	18 Sep 2002 22:30:22 -0000	1.3
+++ bogofilter.h	21 Sep 2002 20:11:57 -0000
@@ -32,7 +32,7 @@
 extern void register_words(int fd, wordlist_t *list, wordlist_t *other);
 extern int get_token(void);
 extern void lexer_stream_mode(void);
-extern rc_t bogofilter(int fd);
+extern rc_t bogofilter(int fd, double *xss);
 extern int bogodump(char *file);
 
 extern wordlist_t ham_list, spam_list;
Index: main.c
===================================================================
RCS file: /cvsroot/bogofilter/bogofilter/main.c,v
retrieving revision 1.6
diff -u -r1.6 main.c
--- main.c	20 Sep 2002 15:27:27 -0000	1.6
+++ main.c	21 Sep 2002 20:11:58 -0000
@@ -188,7 +188,7 @@
     }
     else
     {
-	rc_t	status = bogofilter(STDIN_FILENO);
+	rc_t	status = bogofilter(STDIN_FILENO, &spamicity);
 
 	if (passthrough)
 	{
@@ -203,8 +203,8 @@
 
 	    /* print spam-status at the end of the header
 	     * then mark the beginning of the message body */
-	    printf("X-Spam-Status: %s, tests=bogofilter\n", 
-		    (status==RC_SPAM) ? "Yes" : "No");
+	    printf("X-Spam-Status: %s, spamicity=%f, tests=bogofilter\n", 
+		    spamicity, (status==RC_SPAM) ? "Yes" : "No");
 	    /* If the message terminated early (without body or blank
 	     * line between header and body), enforce a blank line to
 	     * prevent anything past us from choking. */



More information about the bogofilter-dev mailing list