[cvs] bogofilter main.c,1.106,1.107 config.c,1.89,1.90 bogoconfig.h,1.12,1.13
Fast Bayesian spam filter along lines suggested by Paul Graham
Brought to you by:
m-a
From: <re...@us...> - 2002-12-27 04:57:30
|
Update of /cvsroot/bogofilter/bogofilter In directory sc8-pr-cvs1:/tmp/cvs-serv31549 Modified Files: main.c config.c bogoconfig.h Log Message: Prpeare directory and lsit code for handling multiple wordlist pairs. Index: main.c =================================================================== RCS file: /cvsroot/bogofilter/bogofilter/main.c,v retrieving revision 1.106 retrieving revision 1.107 diff -u -d -r1.106 -r1.107 --- main.c 27 Dec 2002 04:30:47 -0000 1.106 +++ main.c 27 Dec 2002 04:57:27 -0000 1.107 @@ -66,15 +66,19 @@ process_config_files(); + /* directories from command line and config file are already handled */ if (directory == NULL) + { directory = create_path_from_env("BOGOFILTER_DIR", NULL); - if (directory == NULL) - directory = create_path_from_env("BOGODIR", NULL); - if (directory == NULL) - directory = create_path_from_env("HOME", BOGODIR); + if (directory == NULL) + directory = create_path_from_env("BOGODIR", NULL); + if (directory == NULL) + directory = create_path_from_env("HOME", BOGODIR); - if (setup_lists(directory) != 0) - exit(2); + if (directory != NULL) + if (setup_lists(directory) != 0) + exit(2); + } if (*outfname && passthrough) { if ((out = fopen(outfname,"wt"))==NULL) Index: config.c =================================================================== RCS file: /cvsroot/bogofilter/bogofilter/config.c,v retrieving revision 1.89 retrieving revision 1.90 diff -u -d -r1.89 -r1.90 --- config.c 20 Dec 2002 13:47:53 -0000 1.89 +++ config.c 27 Dec 2002 04:57:27 -0000 1.90 @@ -134,7 +134,7 @@ { "user_config_file", CP_STRING, { &user_config_file } }, { "algorithm", CP_FUNCTION, { (void *) &config_algorithm } }, - { "bogofilter_dir", CP_STRING, { &directory } }, + { "bogofilter_dir", CP_DIRECTORY, { &directory } }, { "wordlist", CP_FUNCTION, { (void *) &configure_wordlist } }, { "min_dev", CP_DOUBLE, { (void *) &min_dev } }, @@ -264,6 +264,18 @@ fprintf( stderr, "%s -> '%s'\n", arg->name, *arg->addr.s ); break; } + case CP_DIRECTORY: + { + char *dir = *arg->addr.s; + if (dir) + xfree(dir); + *arg->addr.s = dir = xstrdup(val); + if (DEBUG_CONFIG(0)) + fprintf( stderr, "%s -> '%s'\n", arg->name, dir ); + if (setup_lists(dir) != 0) + exit(2); + break; + } case CP_FUNCTION: { ok = (*arg->addr.f)(val); @@ -501,7 +513,11 @@ switch(option) { case 'd': + if (directory) + xfree(directory); directory = xstrdup(optarg); + if (setup_lists(directory) != 0) + exit(2); break; case 'e': Index: bogoconfig.h =================================================================== RCS file: /cvsroot/bogofilter/bogofilter/bogoconfig.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- bogoconfig.h 1 Dec 2002 15:13:06 -0000 1.12 +++ bogoconfig.h 27 Dec 2002 04:57:27 -0000 1.13 @@ -12,6 +12,7 @@ CP_DOUBLE, CP_CHAR, CP_STRING, + CP_DIRECTORY, CP_FUNCTION } parm_t; @@ -28,7 +29,7 @@ int *i; double *d; char *c; - const char **s; + char **s; } addr; } parm_desc; |