git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1407 c06c8d41-db1a-0410-9941-cceddc491573
QXQE7C5XDYNF4JSHGDAVMS7HYLOC6YEZFOVFJ3RD7RB6U4AJSFIQC
6LT6USGJOTDMRJGXLAN2NSZXK2GKWEXDKKUV6SVV7ZC6WI6EKMDQC
QKGDOYIYKE6B36ION5O2DRW65DWWPZMYNWJVH7LJJ7FPGGM2MYAQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
4EWXDZSMYTEINQRUL4OHRUZVWMKCWEPYVJVGENQPBWUYU37SP63QC
EWJXUTTGMQTA6Q7ITOYVBPIWMZ55LBHXTLYCEV4YCFPS7DRCJ7GQC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC
RC6L3CIBLJEH4GWRFD7UQNGI6PZT74FRUVOYHSAN2XCC74NZUASQC
GSQ72ULBSL6WBJZUB3GJKAPQDXZIQV7B2TDBA5OP2WVGHVJMCQFQC
TV3ZC6WOZKSQQJQN26JIVKCHK6UK7WMDBYZDUYRWEAZ4JB4YVNAAC
clua.execfile(field.c_str());
if (clua.error.length())
fprintf(stderr, "Lua error: %s\n",
clua.error.c_str());
const std::string lua_file = datafile_path(field, false, true);
if (lua_file.empty())
{
fprintf(stderr, "Unable to find lua file: %s\n", field.c_str());
}
else
{
clua.execfile(lua_file.c_str());
if (clua.error.length())
fprintf(stderr, "Lua error: %s\n", clua.error.c_str());
}
if (!SysEnv.crawl_dir)
SysEnv.crawl_dir = (char*)calloc(kPathLen, sizeof(char));
if (SysEnv.crawl_dir)
{
strncpy(SysEnv.crawl_dir, field.c_str(), kPathLen - 1);
SysEnv.crawl_dir[ kPathLen - 1 ] = 0;
}
SysEnv.crawl_dir = field;
std::string get_parent_directory(const std::string &filename)
{
std::string::size_type pos = filename.rfind(FILE_SEPARATOR);
if (pos != std::string::npos)
return filename.substr(0, pos + 1);
#ifdef ALT_FILE_SEPARATOR
pos = filename.rfind(ALT_FILE_SEPARATOR);
if (pos != std::string::npos)
return filename.substr(0, pos + 1);
#endif
return ("");
}
char *crawl_name;
char *crawl_pizza;
char *crawl_rc;
char *crawl_dir;
char *home; // only used by MULTIUSER systems
std::string crawl_name;
std::string crawl_pizza;
std::string crawl_rc;
std::string crawl_dir;
std::string crawl_base; // Directory from argv[0], may be used to
// locate datafiles.
std::string home; // only used by MULTIUSER systems