]> git.pld-linux.org Git - packages/cvs.git/blame - cvs-home_etc.patch
rel 20; rediff patches
[packages/cvs.git] / cvs-home_etc.patch
CommitLineData
99aab3da
AM
1diff -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
4@@ -832,7 +832,24 @@
5 char *
6 strcat_filename_onto_homedir (const char *dir, const char *file)
5804a068 7 {
99aab3da
AM
8- char *path = Xasprintf ("%s/%s", dir, file);
9+ char *path;
02ee456b 10+ char *cfgdir;
5804a068 11+ struct stat st;
eca1808b
JB
12+ int isdot = (*file == '.');
13+
14+ if ( (path = getenv("CONFIG_DIR")) && path[0] ) {
99aab3da
AM
15+ cfgdir = xmalloc(strlen(dir) + 1 + strlen(path) + 1);
16+ sprintf(cfgdir, "%s/%s", dir, path);
eca1808b 17+ } else
99aab3da 18+ cfgdir = NULL;
0ede5f01 19+ if ( cfgdir && (stat(cfgdir, &st) != -1) && S_ISDIR(st.st_mode) ) {
99aab3da 20+ path = Xasprintf ("%s/%s", cfgdir, file+isdot);
eca1808b 21+ } else {
99aab3da 22+ path = Xasprintf ("%s/%s", dir, file);
ecade4f5 23+ }
eca1808b 24+ if (cfgdir)
99aab3da
AM
25+ free(cfgdir);
26+
eca1808b
JB
27 return path;
28 }
506d24d5 29
This page took 0.05204 seconds and 4 git commands to generate.