Loading src/loader.cpp +7 −2 Original line number Diff line number Diff line Loading @@ -95,6 +95,8 @@ dbpp::Database::Database(const std::string &dbdriver,const std::string &connstr) _handle=dlopen(path,RTLD_LAZY); std::cerr << path << std::endl; if (!_handle) { throw std::runtime_error("Failed to dlopen: " + std::string(dlerror())); } Loading @@ -106,19 +108,22 @@ dbpp::Database::Database(const std::string &dbdriver,const std::string &connstr) create_t* create_dbdriver= (create_t*) dlsym(_handle, "create"); if (!create_dbdriver || dlerror()) { cleanup_on_fail(); throw std::runtime_error("Failed to find 'create' function: " + std::string(dlerror() ? dlerror() : "Unknown error")); } _DBApi = create_dbdriver(connstr.c_str()); dlerror(); _destroy_dbdriver = (destroy_t*) dlsym(_handle, "destroy"); if (!_destroy_dbdriver || dlerror()) { cleanup_on_fail(); throw std::runtime_error("Failed to find 'destroy' function: " + std::string(dlerror() ? dlerror() : "Unknown error")); } _DBApi = create_dbdriver(connstr.c_str()); #endif } Loading Loading
src/loader.cpp +7 −2 Original line number Diff line number Diff line Loading @@ -95,6 +95,8 @@ dbpp::Database::Database(const std::string &dbdriver,const std::string &connstr) _handle=dlopen(path,RTLD_LAZY); std::cerr << path << std::endl; if (!_handle) { throw std::runtime_error("Failed to dlopen: " + std::string(dlerror())); } Loading @@ -106,19 +108,22 @@ dbpp::Database::Database(const std::string &dbdriver,const std::string &connstr) create_t* create_dbdriver= (create_t*) dlsym(_handle, "create"); if (!create_dbdriver || dlerror()) { cleanup_on_fail(); throw std::runtime_error("Failed to find 'create' function: " + std::string(dlerror() ? dlerror() : "Unknown error")); } _DBApi = create_dbdriver(connstr.c_str()); dlerror(); _destroy_dbdriver = (destroy_t*) dlsym(_handle, "destroy"); if (!_destroy_dbdriver || dlerror()) { cleanup_on_fail(); throw std::runtime_error("Failed to find 'destroy' function: " + std::string(dlerror() ? dlerror() : "Unknown error")); } _DBApi = create_dbdriver(connstr.c_str()); #endif } Loading