diff -u -r --exclude-from=diff.excl 0949/src/bogoutil.c cvs/src/bogoutil.c --- 0949/src/bogoutil.c 2005-05-05 21:23:41.000000000 -0400 +++ cvs/src/bogoutil.c 2005-05-06 18:14:09.000000000 -0400 @@ -1,4 +1,4 @@ -/* $Id: bogoutil.c,v 1.219 2005/05/06 01:23:41 relson Exp $ */ +/* $Id: bogoutil.c,v 1.220 2005/05/06 22:14:09 relson Exp $ */ /***************************************************************************** @@ -833,8 +833,6 @@ set_today(); /* compute current date for token age */ - set_bogohome( "." ); /* set default */ - process_arglist(argc, argv); process_config_files(false, longopts_bogoutil); /* need to read lock sizes */ @@ -846,6 +844,9 @@ } bfp = bfpath_create(ds_file); + if (bogohome == NULL) + set_bogohome( "." ); /* set default */ + bfpath_set_bogohome(bfp); mode = get_mode(flag); diff -u -r --exclude-from=diff.excl 0949/src/paths.c cvs/src/paths.c --- 0949/src/paths.c 2005-05-05 21:35:35.000000000 -0400 +++ cvs/src/paths.c 2005-05-06 18:13:59.000000000 -0400 @@ -1,4 +1,4 @@ -/* $Id: paths.c,v 1.48 2005/05/06 01:35:35 relson Exp $ */ +/* $Id: paths.c,v 1.49 2005/05/06 22:13:59 relson Exp $ */ /** * \file @@ -43,13 +43,20 @@ void set_bogohome(const char *path) { xfree(bogohome); - bogohome = (path == NULL) ? NULL : xstrdup(path); + bogohome = xstrdup(path); } -static bool check_bogohome(void) +static bool cant_find_bogohome(void) { - return (set_wordlist_dir(NULL, PR_ENV_BOGO) == 0 || - set_wordlist_dir(NULL, PR_ENV_HOME) == 0); + if (bogohome != NULL) + return false; + + if (set_wordlist_dir(NULL, PR_ENV_BOGO) == 0) + return false; + if (set_wordlist_dir(NULL, PR_ENV_HOME) == 0) + return false; + + return true; } void bogohome_cleanup(void) @@ -213,9 +220,8 @@ void bfpath_set_bogohome(bfpath *bfp) { - /* bogohome should be set by now */ - - if (!check_bogohome()) { + /* ensure bogohome is set */ + if (cant_find_bogohome()) { fprintf(stderr, "Can't find HOME or BOGOFILTER_DIR in environment.\n"); exit(EX_ERROR); } diff -u -r --exclude-from=diff.excl 0949/src/paths.h cvs/src/paths.h --- 0949/src/paths.h 2005-05-05 21:34:01.000000000 -0400 +++ cvs/src/paths.h 2005-05-06 18:08:58.000000000 -0400 @@ -1,4 +1,4 @@ -/* $Id: paths.h,v 1.27 2005/05/06 01:34:01 relson Exp $ */ +/* $Id: paths.h,v 1.28 2005/05/06 22:08:58 relson Exp $ */ /** * \file @@ -46,9 +46,7 @@ bfpath *bfpath_create(const char *path); void bfpath_set_bogohome(bfpath *bfp); -bfpath *bfpath_initialize(bfpath *bfp, bfpath_mode mode); bool bfpath_check_mode(bfpath *bfp, bfpath_mode mode); -bfpath *bfpath_fixup(bfpath *path); bfpath *bfpath_free(bfpath *path); bool paths_equal(bfpath *p1, bfpath *p2);