1 diff -Nru abook-0.4.17/abook.c abook-0.4.17.new/abook.c
2 --- abook-0.4.17/abook.c Tue Apr 2 20:45:47 2002
3 +++ abook-0.4.17.new/abook.c Sat Mar 22 14:14:51 2003
5 /*if( options_get_int("datafile", "autosave") )*/
7 if( load_database(datafile) == 2 ) {
8 - char *tmp = strconcat(getenv("HOME"),
9 + char *config_dir = getenv("CONFIG_DIR");
13 + tmp = strconcat(config_dir, "/" CONFIG_DIR_DATAFILE, NULL);
15 + tmp = strconcat(getenv("HOME"),
18 if( safe_strcmp(tmp, datafile) ) {
23 + char *config_dir = getenv("CONFIG_DIR");
26 + datafile = strconcat(config_dir, "/" CONFIG_DIR_DATAFILE, NULL);
27 + rcfile = strconcat(config_dir, "/" CONFIG_DIR_RCFILE, NULL);
29 + if( (stat(getenv("HOME"), &s)) == -1 || ! S_ISDIR(s.st_mode) ) {
30 + fprintf(stderr,"%s is not a valid HOME directory\n", getenv("HOME") );
34 - if( (stat(getenv("HOME"), &s)) == -1 || ! S_ISDIR(s.st_mode) ) {
35 - fprintf(stderr,"%s is not a valid HOME directory\n", getenv("HOME") );
40 - datafile = strconcat(getenv("HOME"), "/" DATAFILE, NULL);
42 - rcfile = strconcat(getenv("HOME"), "/" RCFILE, NULL);
44 + datafile = strconcat(getenv("HOME"), "/" DATAFILE, NULL);
46 + rcfile = strconcat(getenv("HOME"), "/" RCFILE, NULL);
48 atexit(free_filenames);
51 diff -Nru abook-0.4.17/abook.h abook-0.4.17.new/abook.h
52 --- abook-0.4.17/abook.h Sat Sep 29 16:44:10 2001
53 +++ abook-0.4.17.new/abook.h Sat Mar 22 14:08:42 2003
56 #define DEFAULT_UMASK 066
57 #define DATAFILE ".abook.addressbook"
59 +#define CONFIG_DIR_DATAFILE "abook.addressbook"
61 * some "abookwide" useful macros
63 diff -Nru abook-0.4.17/options.h abook-0.4.17.new/options.h
64 --- abook-0.4.17/options.h Mon Apr 23 14:58:43 2001
65 +++ abook-0.4.17.new/options.h Sat Mar 22 14:09:11 2003
69 #define RCFILE ".abookrc"
70 +#define CONFIG_DIR_RCFILE "abookrc"
71 #define SYSWIDE_RCFILE "/etc/abookrc"