summaryrefslogtreecommitdiffabout
path: root/src
authorMichael Krelin <hacker@klever.net>2008-07-19 14:47:54 (UTC)
committer Michael Krelin <hacker@klever.net>2008-07-19 14:47:54 (UTC)
commit8a24019a28e046189e15fdbade21d1a716edbb56 (patch) (unidiff)
tree11fe3fd5b5cca6827b019de30f78b046002c602d /src
parent3a827660c11527f6d93008336994fb9431bc34f3 (diff)
parentd1d3203e351e51cf905b3166f88c1a4d72140555 (diff)
downloadnapkin-8a24019a28e046189e15fdbade21d1a716edbb56.zip
napkin-8a24019a28e046189e15fdbade21d1a716edbb56.tar.gz
napkin-8a24019a28e046189e15fdbade21d1a716edbb56.tar.bz2
Merge commit 'bee/master'
Diffstat (limited to 'src') (more/less context) (ignore whitespace changes)
-rw-r--r--src/db.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/db.cc b/src/db.cc
index d1e0a85..9ae5f8f 100644
--- a/src/db.cc
+++ b/src/db.cc
@@ -17,11 +17,30 @@ namespace napkin {
17 datadir = h; 17 datadir = h;
18 datadir += "/."PACKAGE_NAME"/"; 18 datadir += "/."PACKAGE_NAME"/";
19 }else{ 19 }else{
20#if defined(HAVE_GET_CURRENT_DIR_NAME)
20 char *cwd = get_current_dir_name(); 21 char *cwd = get_current_dir_name();
21 if(!cwd) 22 if(!cwd)
22 throw napkin::exception("failed to get_current_dir_name()"); 23 throw napkin::exception("failed to get_current_dir_name()");
23 datadir = cwd; 24 datadir = cwd;
24 free(cwd); 25 free(cwd);
26#elif defined(HAVE_GETCWD)
27 {
28 char cwd[
29# if defined(MAXPATH)
30 MAXPATH
31# elif defined(MAXPATHLEN)
32 MAXPATHLEN
33# else /* maxpath */
34 512
35#endif /* maxpath */
36 ];
37 if(!getcwd(cwd,sizeof(cwd)))
38 throw napkin::exception("failed to getcwd()");
39 datadir = cwd;
40 }
41#else /* get cwd */
42# error dunno how to get current workdir
43#endif /* get cwd */
25 datadir += "/."PACKAGE_NAME"/"; 44 datadir += "/."PACKAGE_NAME"/";
26 } 45 }
27 if(access(datadir.c_str(),R_OK|W_OK) 46 if(access(datadir.c_str(),R_OK|W_OK)