Merge pull request #80 from sveseli/master

Static Build Fixes
This commit is contained in:
Andrew Johnson
2023-11-17 15:02:06 -06:00
committed by GitHub
3 changed files with 17 additions and 12 deletions

View File

@ -26,8 +26,8 @@ namespace epics { namespace pvCopy {
// Utilities for manipulating strings // Utilities for manipulating strings
static std::string leftTrim(const std::string& s) static std::string leftTrim(const std::string& s)
{ {
int i; unsigned int i;
int n = s.length(); unsigned int n = (unsigned int)s.length();
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
if (!isspace(s[i])) { if (!isspace(s[i])) {
break; break;
@ -38,8 +38,8 @@ static std::string leftTrim(const std::string& s)
static std::string rightTrim(const std::string& s) static std::string rightTrim(const std::string& s)
{ {
int i; unsigned int i;
int n = s.length(); unsigned int n = (unsigned int)s.length();
for (i = n; i > 0; i--) { for (i = n; i > 0; i--) {
if (!isspace(s[i-1])) { if (!isspace(s[i-1])) {
break; break;
@ -83,7 +83,7 @@ static std::string toLowerCase(const std::string& input)
// Data distributor class // Data distributor class
static std::string name("distributor"); static std::string name("distributor");
bool DataDistributorPlugin::initialized(DataDistributorPlugin::initialize()); bool DataDistributorPlugin::initialized(false);
std::map<std::string, DataDistributorPtr> DataDistributor::dataDistributorMap; std::map<std::string, DataDistributorPtr> DataDistributor::dataDistributorMap;
epics::pvData::Mutex DataDistributor::dataDistributorMapMutex; epics::pvData::Mutex DataDistributor::dataDistributorMapMutex;
@ -110,7 +110,7 @@ void DataDistributor::removeUnusedInstance(DataDistributorPtr dataDistributorPtr
std::map<std::string,DataDistributorPtr>::iterator ddit = dataDistributorMap.find(groupId); std::map<std::string,DataDistributorPtr>::iterator ddit = dataDistributorMap.find(groupId);
if (ddit != dataDistributorMap.end()) { if (ddit != dataDistributorMap.end()) {
DataDistributorPtr ddPtr = ddit->second; DataDistributorPtr ddPtr = ddit->second;
int nSets = ddPtr->clientSetMap.size(); size_t nSets = ddPtr->clientSetMap.size();
if (nSets == 0) { if (nSets == 0) {
dataDistributorMap.erase(ddit); dataDistributorMap.erase(ddit);
} }
@ -275,8 +275,11 @@ void DataDistributorPlugin::create()
bool DataDistributorPlugin::initialize() bool DataDistributorPlugin::initialize()
{ {
if (!initialized) {
initialized = true;
DataDistributorPluginPtr pvPlugin = DataDistributorPluginPtr(new DataDistributorPlugin()); DataDistributorPluginPtr pvPlugin = DataDistributorPluginPtr(new DataDistributorPlugin());
PVPluginRegistry::registerPlugin(name,pvPlugin); PVPluginRegistry::registerPlugin(name,pvPlugin);
}
return true; return true;
} }
@ -406,7 +409,7 @@ bool DataDistributorFilter::filter(const PVFieldPtr& pvCopy, const BitSetPtr& bi
if(proceedWithUpdate) { if(proceedWithUpdate) {
pvCopy->copyUnchecked(*masterFieldPtr); pvCopy->copyUnchecked(*masterFieldPtr);
bitSet->set(pvCopy->getFieldOffset()); bitSet->set((unsigned int)pvCopy->getFieldOffset());
} }
else { else {
// Clear all bits // Clear all bits

View File

@ -23,6 +23,7 @@
#include "pv/pvArrayPlugin.h" #include "pv/pvArrayPlugin.h"
#include "pv/pvTimestampPlugin.h" #include "pv/pvTimestampPlugin.h"
#include "pv/pvDeadbandPlugin.h" #include "pv/pvDeadbandPlugin.h"
#include "pv/dataDistributorPlugin.h"
using std::tr1::static_pointer_cast; using std::tr1::static_pointer_cast;
using namespace epics::pvData; using namespace epics::pvData;
@ -44,6 +45,7 @@ PVDatabasePtr PVDatabase::getMaster()
PVArrayPlugin::create(); PVArrayPlugin::create();
PVTimestampPlugin::create(); PVTimestampPlugin::create();
PVDeadbandPlugin::create(); PVDeadbandPlugin::create();
DataDistributorPlugin::create();
} }
return pvDatabaseMaster; return pvDatabaseMaster;
} }