diff options
Diffstat (limited to 'project2/basics')
| -rw-r--r-- | project2/basics/functions/dates.cpp | 10 | ||||
| -rw-r--r-- | project2/basics/options/preload.cpp | 7 | ||||
| -rw-r--r-- | project2/basics/tests/validDateCheck.cpp | 12 |
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; } |
