summaryrefslogtreecommitdiffabout
path: root/src
authorMichael Krelin <hacker@klever.net>2009-01-21 18:41:55 (UTC)
committer Michael Krelin <hacker@klever.net>2009-01-21 18:41:55 (UTC)
commita141dd88e782636ca6894939a019528d5d46518a (patch) (side-by-side diff)
treecc02a12a89c860a324563d95b2e8711aa8522dc6 /src
parent1bd0bb1abcfdb7b9ad296aa06284f05f66a61d98 (diff)
downloadnapkin-a141dd88e782636ca6894939a019528d5d46518a.zip
napkin-a141dd88e782636ca6894939a019528d5d46518a.tar.gz
napkin-a141dd88e782636ca6894939a019528d5d46518a.tar.bz2
add missing includes for gcc 4.3public/master
Thanks to Stas Bekman for spotting the problem. Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'src') (more/less context) (show whitespace changes)
-rw-r--r--src/db.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/db.cc b/src/db.cc
index c350e68..2b4a7eb 100644
--- a/src/db.cc
+++ b/src/db.cc
@@ -1,51 +1,53 @@
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <stdlib.h>
+#include <string.h>
#include <cassert>
#include <napkin/exception.h>
#include "db.h"
#include "config.h"
namespace napkin {
extern const char *sql_bootstrap;
db_t::db_t() {
const char *h = getenv("HOME");
if(h) {
datadir = h;
datadir += "/."PACKAGE_NAME"/";
}else{
#if defined(HAVE_GET_CURRENT_DIR_NAME)
char *cwd = get_current_dir_name();
if(!cwd)
throw napkin::exception("failed to get_current_dir_name()");
datadir = cwd;
free(cwd);
#elif defined(HAVE_GETCWD)
{
char cwd[
# if defined(MAXPATH)
MAXPATH
# elif defined(MAXPATHLEN)
MAXPATHLEN
# else /* maxpath */
512
# endif /* maxpath */
];
if(!getcwd(cwd,sizeof(cwd)))
throw napkin::exception("failed to getcwd()");
datadir = cwd;
}
#else /* get cwd */
# error dunno how to get current workdir
#endif /* get cwd */
datadir += "/."PACKAGE_NAME"/";
}
if(access(datadir.c_str(),R_OK|W_OK)
&& mkdir(datadir.c_str(),0700))
throw napkin::exception("no access to '"+datadir+"' directory");
open((datadir+PACKAGE_NAME".db").c_str());
assert(_D);
char **resp; int nr,nc; char *errm;