summaryrefslogtreecommitdiff
path: root/project2/basics
diff options
context:
space:
mode:
Diffstat (limited to 'project2/basics')
-rw-r--r--project2/basics/functions/dates.cpp10
-rw-r--r--project2/basics/options/preload.cpp7
-rw-r--r--project2/basics/tests/validDateCheck.cpp12
3 files changed, 15 insertions, 14 deletions
diff --git a/project2/basics/functions/dates.cpp b/project2/basics/functions/dates.cpp
index 91a7077..90708d3 100644
--- a/project2/basics/functions/dates.cpp
+++ b/project2/basics/functions/dates.cpp
@@ -18,14 +18,14 @@ class ParseDate : public VariableImpl {
}
VariableType value(ExecContext * ec) const
{
- const char * s = string(ec);
- const char * f = format(ec);
+ const std::string s = string(ec);
+ const std::string f = format(ec);
struct tm tm;
memset(&tm, 0, sizeof(struct tm));
mktime(&tm);
- const char * e = strptime(s, f, &tm);
+ const char * e = strptime(s.c_str(), f.c_str(), &tm);
if (!e || *e) {
- Logger()->messagef(LOG_ERR, "%s: check failed (parse) for '%s' against '%s' (remaining chars='%s')",
+ Logger()->messagebf(LOG_ERR, "%s: check failed (parse) for '%s' against '%s' (remaining chars='%s')",
__PRETTY_FUNCTION__, s, f, e);
throw DateParseError(string(ec), format(ec));
}
@@ -49,7 +49,7 @@ class FormatDate : public VariableImpl {
std::stringstream ss;
boost::date_time::time_facet<boost::posix_time::ptime, char> * ft = new boost::date_time::time_facet<boost::posix_time::ptime, char>();
ss.imbue(std::locale(ss.getloc(), ft));
- ft->format(format(ec));
+ ft->format(format(ec).as<std::string>().c_str());
ss << boost::get<boost::posix_time::ptime>(date(ec));
return ss.str();
}
diff --git a/project2/basics/options/preload.cpp b/project2/basics/options/preload.cpp
index 4781abb..506be1d 100644
--- a/project2/basics/options/preload.cpp
+++ b/project2/basics/options/preload.cpp
@@ -21,13 +21,14 @@ class Preload {
{
const auto beforeOpts = AdHoc::PluginManager::getDefault()->getAll<Options>();
- void * handle = dlopen(librarypath, RTLD_GLOBAL | RTLD_NOW);
+ std::string path(librarypath.as<std::string>());
+ void * handle = dlopen(path.c_str(), RTLD_GLOBAL | RTLD_NOW);
if (handle) {
- Logger()->messagebf(LOG_DEBUG, "Loaded library '%s'", librarypath.as<std::string>());
+ Logger()->messagebf(LOG_DEBUG, "Loaded library '%s'", path);
}
else {
const char * dlerr = dlerror();
- Logger()->messagebf(LOG_ERR, "Failed to load library '%s' (%s)", librarypath.as<std::string>(), dlerr);
+ Logger()->messagebf(LOG_ERR, "Failed to load library '%s' (%s)", path, dlerr);
throw LoadLibraryFailed(librarypath, dlerr);
}
libs[librarypath.as<std::string>()] = boost::shared_ptr<void>(handle, &dlclose);
diff --git a/project2/basics/tests/validDateCheck.cpp b/project2/basics/tests/validDateCheck.cpp
index 231a478..a17933f 100644
--- a/project2/basics/tests/validDateCheck.cpp
+++ b/project2/basics/tests/validDateCheck.cpp
@@ -27,17 +27,17 @@ class ValidDateTest : public Test {
struct tm tm, ftm;
memset(&tm, 0, sizeof(struct tm));
mktime(&tm);
- const char * at = applyTo(ec);
- const char * f = format(ec);
- const char * s = strptime(at, f, &tm);
+ const std::string at = applyTo(ec);
+ const std::string f = format(ec);
+ const char * s = strptime(at.c_str(), f.c_str(), &tm);
if (!s || *s) {
- Logger()->messagef(warnLev, "%s: check failed (parse) for '%s' against '%s'",
+ Logger()->messagebf(warnLev, "%s: check failed (parse) for '%s' against '%s'",
__PRETTY_FUNCTION__, at, f);
return false;
}
ftm = tm;
if (mktime(&ftm) == -1) {
- Logger()->messagef(warnLev, "%s: check failed (normalise) for '%s' against '%s'",
+ Logger()->messagebf(warnLev, "%s: check failed (normalise) for '%s' against '%s'",
__PRETTY_FUNCTION__, at, f);
return false;
}
@@ -51,7 +51,7 @@ class ValidDateTest : public Test {
tm.tm_year, tm.tm_mon, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
Logger()->messagef(LOG_INFO, "ftm: %d %d %d %d %d %d",
ftm.tm_year, ftm.tm_mon, ftm.tm_mday, ftm.tm_hour, ftm.tm_min, ftm.tm_sec);
- Logger()->messagef(warnLev, "%s: check failed (verify) for '%s' against '%s'",
+ Logger()->messagebf(warnLev, "%s: check failed (verify) for '%s' against '%s'",
__PRETTY_FUNCTION__, at, f);
return false;
}