1 diff -urN cvs-1.12.13.org/src/filesubr.c cvs-1.12.13/src/filesubr.c
2 --- cvs-1.12.13.org/src/filesubr.c 2005-09-28 17:25:59.000000000 +0200
3 +++ cvs-1.12.13/src/filesubr.c 2007-11-05 20:47:46.928468198 +0100
6 strcat_filename_onto_homedir (const char *dir, const char *file)
8 - char *path = Xasprintf ("%s/%s", dir, file);
12 + int isdot = (*file == '.');
14 + if ( (path = getenv("CONFIG_DIR")) && path[0] ) {
15 + cfgdir = xmalloc(strlen(dir) + 1 + strlen(path) + 1);
16 + sprintf(cfgdir, "%s/%s", dir, path);
19 + if ( cfgdir && (stat(cfgdir, &st) != -1) && S_ISDIR(st.st_mode) ) {
20 + path = Xasprintf ("%s/%s", cfgdir, file+isdot);
22 + path = Xasprintf ("%s/%s", dir, file);