]>
Commit | Line | Data |
---|---|---|
415d68c2 | 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 | |
4 | @@ -63,7 +63,13 @@ | |
5 | /*if( options_get_int("datafile", "autosave") )*/ | |
6 | ||
7 | if( load_database(datafile) == 2 ) { | |
8 | - char *tmp = strconcat(getenv("HOME"), | |
9 | + char *config_dir = getenv("CONFIG_DIR"); | |
10 | + char *tmp; | |
11 | + | |
12 | + if (config_dir) | |
13 | + tmp = strconcat(config_dir, "/" CONFIG_DIR_DATAFILE, NULL); | |
14 | + else | |
15 | + tmp = strconcat(getenv("HOME"), | |
16 | "/" DATAFILE, NULL); | |
17 | ||
18 | if( safe_strcmp(tmp, datafile) ) { | |
19 | @@ -119,17 +125,22 @@ | |
20 | set_filenames() | |
21 | { | |
22 | struct stat s; | |
23 | + char *config_dir = getenv("CONFIG_DIR"); | |
24 | + if (config_dir) { | |
25 | + if (!datafile) | |
26 | + datafile = strconcat(config_dir, "/" CONFIG_DIR_DATAFILE, NULL); | |
27 | + rcfile = strconcat(config_dir, "/" CONFIG_DIR_RCFILE, NULL); | |
28 | + } else { | |
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") ); | |
31 | + exit(1); | |
32 | + } | |
33 | ||
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") ); | |
36 | - exit(1); | |
37 | - } | |
38 | - | |
39 | - if (!datafile) | |
40 | - datafile = strconcat(getenv("HOME"), "/" DATAFILE, NULL); | |
41 | - | |
42 | - rcfile = strconcat(getenv("HOME"), "/" RCFILE, NULL); | |
43 | + if (!datafile) | |
44 | + datafile = strconcat(getenv("HOME"), "/" DATAFILE, NULL); | |
45 | ||
46 | + rcfile = strconcat(getenv("HOME"), "/" RCFILE, NULL); | |
47 | + } | |
48 | atexit(free_filenames); | |
49 | } | |
50 | ||
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 | |
54 | @@ -24,7 +24,7 @@ | |
55 | ||
56 | #define DEFAULT_UMASK 066 | |
57 | #define DATAFILE ".abook.addressbook" | |
58 | - | |
59 | +#define CONFIG_DIR_DATAFILE "abook.addressbook" | |
60 | /* | |
61 | * some "abookwide" useful macros | |
62 | */ | |
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 | |
66 | @@ -2,6 +2,7 @@ | |
67 | #define _OPTIONS_H | |
68 | ||
69 | #define RCFILE ".abookrc" | |
70 | +#define CONFIG_DIR_RCFILE "abookrc" | |
71 | #define SYSWIDE_RCFILE "/etc/abookrc" | |
72 | ||
73 | #include "conff.h" |