removed unncessary casts, allow more than one file to match, compiler warnings

This commit is contained in:
john30
2017-05-01 17:09:56 +02:00
parent afbd5829b6
commit 727aca8309
12 changed files with 54 additions and 59 deletions
+3 -3
View File
@@ -269,7 +269,7 @@ bool GrabbedMessage::dump(bool unknown, MessageMap* messages, bool first, bool d
if (dstAddress != BROADCAST && !isMaster(dstAddress)) {
*output << " / " << m_lastSlave.getStr();
}
*output << " = " << static_cast<unsigned>(m_count);
*output << " = " << m_count;
if (message) {
*output << ": " << message->getCircuit() << " " << message->getName();
}
@@ -1107,7 +1107,7 @@ void BusHandler::receiveCompleted() {
} else {
logNotice(lf_update, "unknown MS cmd: %s / %s", m_command.getStr().c_str(), m_response.getStr().c_str());
if (m_command.size() >= 5 && m_command[2] == 0x07 && m_command[3] == 0x04) {
Message* message = m_messages->getScanMessage(dstAddress);
message = m_messages->getScanMessage(dstAddress);
if (message && (message->getLastUpdateTime() == 0 || message->getLastSlaveData().getDataSize() < 10)) {
result_t result = message->storeLastData(m_command, m_response);
if (result == RESULT_OK) {
@@ -1314,7 +1314,7 @@ void BusHandler::formatSeenInfo(ostringstream* output) const {
master = getMasterAddress(address);
}
if (master != SYN) {
*output << " #" << setw(0) << dec << static_cast<unsigned>(getMasterNumber(master));
*output << " #" << setw(0) << dec << getMasterNumber(master);
}
if (ownAddress) {
*output << ", ebusd";
+2 -3
View File
@@ -1009,7 +1009,6 @@ result_t loadScanConfigFile(MessageMap* messages, symbol_t address, bool verbose
best = name;
bestDefaults = defaults;
}
break;
}
if (best.empty()) {
@@ -1031,7 +1030,7 @@ result_t loadScanConfigFile(MessageMap* messages, symbol_t address, bool verbose
}
if (baseName.length() < 3 || baseName.find_first_of('.') != 2) { // different from the scheme "ZZ."
string errorDescription;
result = messages->readFromFile(name, opt.checkConfig, NULL, &errorDescription, NULL, NULL, NULL);
result = messages->readFromFile(name, verbose, NULL, &errorDescription, NULL, NULL, NULL);
if (result == RESULT_OK) {
logNotice(lf_main, "read common config file %s", name.c_str());
} else {
@@ -1044,7 +1043,7 @@ result_t loadScanConfigFile(MessageMap* messages, symbol_t address, bool verbose
}
string errorDescription;
bestDefaults["name"] = ident;
result = messages->readFromFile(best, opt.checkConfig, &bestDefaults, &errorDescription, NULL, NULL, NULL);
result = messages->readFromFile(best, verbose, &bestDefaults, &errorDescription, NULL, NULL, NULL);
if (result != RESULT_OK) {
logError(lf_main, "error reading scan config file %s for ID \"%s\", SW%4.4d, HW%4.4d: %s, %s", best.c_str(),
ident.c_str(), sw, hw, getResultCode(result), errorDescription.c_str());
+6 -7
View File
@@ -125,7 +125,7 @@ MainLoop::MainLoop(const struct options& opt, Device *device, MessageMap* messag
m_logRawLastSymbol = SYN;
if (opt.aclFile[0]) {
string errorDescription;
result_t result = m_userList.readFromFile(opt.aclFile, false, NULL, &errorDescription, NULL, NULL, NULL);
result = m_userList.readFromFile(opt.aclFile, false, NULL, &errorDescription, NULL, NULL, NULL);
if (result != RESULT_OK) {
logError(lf_main, "error reading ACL file \"%s\": %s", opt.aclFile, getResultCode(result));
}
@@ -236,7 +236,7 @@ void MainLoop::run() {
bool loadDelay = false;
if (m_initialScan != ESC && reload && m_busHandler->hasSignal()) {
loadDelay = true;
result_t result = RESULT_ERR_NO_SIGNAL;
result_t result;
if (m_initialScan == SYN) {
logNotice(lf_main, "starting initial full scan");
result = m_busHandler->startScan(true, "*");
@@ -449,14 +449,14 @@ void MainLoop::run() {
void MainLoop::notifyDeviceData(symbol_t symbol, bool received) {
if (received && m_dumpFile) {
m_dumpFile->write((unsigned char*)&symbol, 1);
m_dumpFile->write(&symbol, 1);
}
if (!m_logRawFile && !m_logRawEnabled) {
return;
}
if (m_logRawBytes) {
if (m_logRawFile) {
m_logRawFile->write((unsigned char*)&symbol, 1, received);
m_logRawFile->write(&symbol, 1, received);
} else if (m_logRawEnabled) {
if (received) {
logNotice(lf_bus, "<%02x", symbol);
@@ -1607,7 +1607,7 @@ string MainLoop::executeGet(const vector<string>& args, bool* connected) {
string user = "";
if (args.size() > argPos) {
string secret;
string query = args[argPos++];
string query = args[argPos];
istringstream stream(query);
string token;
while (getline(stream, token, '&')) {
@@ -1679,7 +1679,6 @@ string MainLoop::executeGet(const vector<string>& args, bool* connected) {
if (m_busHandler->readFromBus(message, "") != RESULT_OK) {
continue;
}
lastup = message->getLastUpdateTime();
} else {
if (since > 0 && lastup <= since) {
continue;
@@ -1699,7 +1698,7 @@ string MainLoop::executeGet(const vector<string>& args, bool* connected) {
first = false;
}
}
message->decode(!first, NULL, verbosity, &result);
message->decode(!first, verbosity, &result);
first = false;
}
+2 -2
View File
@@ -80,7 +80,7 @@ void Connection::run() {
int sockFD = m_socket->getFD();
#ifdef HAVE_PPOLL
int nfds = 2;
nfds_t nfds = 2;
struct pollfd fds[nfds];
memset(fds, 0, sizeof(fds));
@@ -234,7 +234,7 @@ void Network::run() {
tdiff.tv_nsec = 0;
#ifdef HAVE_PPOLL
int socketCount = m_httpServer ? 2 : 1;
int nfds = 1+socketCount;
nfds_t nfds = 1+socketCount;
struct pollfd fds[nfds];
memset(fds, 0, sizeof(fds));
+3 -3
View File
@@ -81,7 +81,7 @@ result_t TemParamDataType::readSymbols(size_t offset, size_t length, const Symbo
if (outputFormat & OF_JSON) {
*output << '"';
}
*output << setfill('0') << setw(2) << dec << static_cast<int>(grp) << '-' << setw(3) << static_cast<int>(num);
*output << setfill('0') << setw(2) << dec << grp << '-' << setw(3) << num;
if (outputFormat & OF_JSON) {
*output << '"';
}
@@ -92,7 +92,7 @@ result_t TemParamDataType::readSymbols(size_t offset, size_t length, const Symbo
result_t TemParamDataType::writeSymbols(const size_t offset, const size_t length, istringstream* input,
SymbolString* output, size_t* usedLength) const {
unsigned int value;
int grp, num;
unsigned int grp, num;
if (input->str() == NULL_VALUE) {
value = m_replacement; // replacement value
@@ -122,7 +122,7 @@ result_t TemParamDataType::writeSymbols(const size_t offset, const size_t length
if (strEnd == NULL || strEnd == str || *strEnd != 0) {
return RESULT_ERR_INVALID_NUM; // invalid value
}
if (grp < 0 || grp > 0x1f || num < 0 || num > 0x7f) {
if (grp > 0x1f || num > 0x7f) {
return RESULT_ERR_OUT_OF_RANGE; // value out of range
}
if (output->isMaster()) {
+7 -7
View File
@@ -193,12 +193,11 @@ result_t DataField::create(bool isWriteMessage, bool isTemplate, bool isBroadcas
*errorDescription = "no fields";
return RESULT_ERR_EOF;
}
size_t fieldIndex = -1;
size_t fieldIndex = 0;
for (auto& row : *rows) {
if (result != RESULT_OK) {
break;
}
fieldIndex++;
const string name = pluck("name", &row);
PartType partType;
bool hasPart = false;
@@ -377,6 +376,7 @@ result_t DataField::create(bool isWriteMessage, bool isTemplate, bool isBroadcas
}
firstType = false;
}
fieldIndex++;
}
if (result != RESULT_OK) {
@@ -686,7 +686,7 @@ void ValueListDataField::dump(ostream* output) const {
} else {
*output << VALUE_SEPARATOR;
}
*output << static_cast<unsigned>(it.first) << "=" << it.second;
*output << it.first << "=" << it.second;
}
} // else: impossible since divisor is not allowed for ValueListDataField
dumpSuffix(output);
@@ -703,7 +703,7 @@ result_t ValueListDataField::readSymbols(const SymbolString& input, size_t offse
const auto it = m_values.find(value);
if (it == m_values.end() && value != m_dataType->getReplacement()) {
// fall back to raw value in input
*output << setw(0) << dec << static_cast<unsigned>(value);
*output << setw(0) << dec << value;
return RESULT_OK;
}
if (it == m_values.end()) {
@@ -713,17 +713,17 @@ result_t ValueListDataField::readSymbols(const SymbolString& input, size_t offse
*output << NULL_VALUE;
}
} else if (outputFormat & OF_NUMERIC) {
*output << setw(0) << dec << static_cast<unsigned>(value);
*output << setw(0) << dec << value;
} else if (outputFormat & OF_JSON) {
if (outputFormat & OF_VALUENAME) {
*output << "{\"value\":" << setw(0) << dec << static_cast<unsigned>(value);
*output << "{\"value\":" << setw(0) << dec << value;
*output << ",\"name\":\"" << it->second << "\"}";
} else {
*output << '"' << it->second << '"';
}
} else {
if (outputFormat & OF_VALUENAME) {
*output << setw(0) << dec << static_cast<unsigned>(value) << '=';
*output << setw(0) << dec << value << '=';
}
*output << it->second;
}
+9 -10
View File
@@ -286,15 +286,15 @@ result_t DateTimeDataType::readSymbols(size_t offset, size_t length, const Symbo
last = symbol;
continue;
}
int minutes = symbol*256 + last;
unsigned int minutes = symbol*256 + last;
if (minutes > 24*60) {
return RESULT_ERR_OUT_OF_RANGE; // invalid value
}
int hour = minutes / 60;
if (hour > 24) {
unsigned int minutesHour = minutes / 60;
if (minutesHour > 24) {
return RESULT_ERR_OUT_OF_RANGE; // invalid hour
}
*output << setw(2) << dec << setfill('0') << static_cast<unsigned>(hour);
*output << setw(2) << dec << setfill('0') << minutesHour;
symbol = (symbol_t)(minutes % 60);
} else if (length == 1) { // truncated time
if (m_bitCount < 8) {
@@ -513,11 +513,11 @@ bool NumberDataType::dump(size_t length, bool appendSeparatorDivisor, ostream* o
}
if (m_baseType) {
if (m_baseType->m_divisor != m_divisor) {
*output << static_cast<int>(m_divisor / m_baseType->m_divisor);
*output << (m_divisor / m_baseType->m_divisor);
return true;
}
} else if (m_divisor != 1) {
*output << static_cast<int>(m_divisor);
*output << m_divisor;
return true;
}
return false;
@@ -699,7 +699,7 @@ result_t NumberDataType::readSymbols(size_t offset, size_t length, const SymbolS
if (m_divisor < 0) {
*output << (static_cast<float>(value) * static_cast<float>(-m_divisor));
} else if (m_divisor <= 1) {
*output << static_cast<unsigned>(value);
*output << value;
} else {
*output << setprecision(static_cast<int>(m_precision))
<< fixed << (static_cast<float>(value) / static_cast<float>(m_divisor));
@@ -719,12 +719,12 @@ result_t NumberDataType::readSymbols(size_t offset, size_t length, const SymbolS
if (hasFlag(FIX) && hasFlag(BCD)) {
if (outputFormat & OF_JSON) {
*output << '"' << setw(static_cast<int>(length * 2))
<< setfill('0') << static_cast<signed>(signedValue) << setw(0) << '"';
<< setfill('0') << signedValue << setw(0) << '"';
return RESULT_OK;
}
*output << setw(static_cast<int>(length * 2)) << setfill('0');
}
*output << static_cast<signed>(signedValue) << setw(0);
*output << signedValue << setw(0);
} else {
*output << setprecision(static_cast<int>(m_precision))
<< fixed << (static_cast<float>(signedValue) / static_cast<float>(m_divisor));
@@ -842,7 +842,6 @@ result_t NumberDataType::writeSymbols(size_t offset, size_t length, istringstrea
return RESULT_ERR_INVALID_NUM; // invalid value
}
} else {
char* strEnd = NULL;
double dvalue = strtod(str, &strEnd);
if (strEnd == NULL || strEnd == str || *strEnd != 0) {
return RESULT_ERR_INVALID_NUM; // invalid value
+1 -1
View File
@@ -124,7 +124,7 @@ result_t Device::recv(unsigned int timeout, symbol_t* value) {
tdiff.tv_nsec = (timeout%1000000)*1000;
#ifdef HAVE_PPOLL
int nfds = 1;
nfds_t nfds = 1;
struct pollfd fds[nfds];
memset(fds, 0, sizeof(fds));
+1 -1
View File
@@ -208,7 +208,7 @@ result_t FileReader::formatError(const string& filename, unsigned int lineNo, re
if (!errorDescription->empty()) {
str << *errorDescription << ", ";
}
str << filename << ":" << static_cast<unsigned>(lineNo) << ": " << getResultCode(result);
str << filename << ":" << lineNo << ": " << getResultCode(result);
if (!error.empty()) {
str << ", " << error;
}
-1
View File
@@ -153,7 +153,6 @@ class FileReader {
* Format the error description with the input data.
* @param filename the name of the file.
* @param lineNo the line number in the file.
* @param row the definition row.
* @param result the result code.
* @param error the error message.
* @param errorDescription a string in which to store the error description.
+19 -18
View File
@@ -419,7 +419,7 @@ result_t Message::create(const string& filename, const DataFieldTemplates* templ
maxLength = 0;
} else if (chainPrefixLength > 2) {
vector<symbol_t>& front = chainIds.front();
for (size_t pos = 2; pos < chainPrefixLength; pos++) {
for (pos = 2; pos < chainPrefixLength; pos++) {
if (chainId[pos] != front[pos]) {
chainPrefixLength = pos;
break;
@@ -812,10 +812,7 @@ bool Message::isLessPollWeight(const Message* other) const {
if (tprio < oprio) {
return false;
}
if (m_lastPollTime > other->m_lastPollTime) {
return true;
}
return false;
return m_lastPollTime > other->m_lastPollTime;
}
void Message::dumpHeader(const vector<string>* fieldNames, ostream* output) {
@@ -930,8 +927,7 @@ void Message::dumpField(const string& fieldName, bool withConditions, ostream* o
dumpAttribute(false, fieldName, output);
}
void Message::decode(bool leadingSeparator, const vector<string>* fields,
OutputFormat outputFormat, ostringstream* output) const {
void Message::decode(bool leadingSeparator, OutputFormat outputFormat, ostringstream* output) const {
if (leadingSeparator) {
*output << ",";
}
@@ -1541,9 +1537,7 @@ bool SimpleNumericCondition::checkValue(const Message* message, const string& fi
if (result == RESULT_OK) {
for (size_t i = 0; i+1 < m_valueRanges.size(); i+=2) {
if (m_valueRanges[i] <= value && value <= m_valueRanges[i+1]) {
ostringstream out;
out << static_cast<unsigned>(value);
m_matchedValue = out.str();
m_matchedValue = AttributedItem::formatInt(value);
return true;
}
}
@@ -1976,14 +1970,14 @@ result_t MessageMap::readConditions(const string& filename, string* types, strin
Condition* add = NULL;
if (it == m_conditions.end()) {
// check for on-the-fly condition
size_t pos = key.find_first_of("=<>", filename.length()+1);
if (pos != string::npos) {
it = m_conditions.find(key.substr(0, pos));
size_t sep = key.find_first_of("=<>", filename.length()+1);
if (sep != string::npos) {
it = m_conditions.find(key.substr(0, sep));
if (it != m_conditions.end()) {
// derive from another condition
add = it->second->derive(key.substr(pos));
add = it->second->derive(key.substr(sep));
if (add == NULL) {
*errorDescription = "derive condition with values "+key.substr(pos)+" failed";
*errorDescription = "derive condition with values "+key.substr(sep)+" failed";
return RESULT_ERR_INVALID_ARG;
}
m_conditions[key] = add; // store derived condition
@@ -2128,7 +2122,7 @@ result_t MessageMap::addFromFile(const string& filename, unsigned int lineNo, ma
}
types = types.substr(1);
Instruction* instruction = NULL;
result_t result = Instruction::create(filename, types, condition, *row, getDefaults()[""], &instruction);
result = Instruction::create(filename, types, condition, *row, getDefaults()[""], &instruction);
if (instruction == NULL || result != RESULT_OK) {
*errorDescription = "invalid instruction";
return result;
@@ -2330,8 +2324,15 @@ bool MessageMap::getLoadedFileInfo(const string& filename, string* comment, size
const auto it = m_loadedFileInfos.find(filename);
if (it == m_loadedFileInfos.end()) {
*comment = "";
hash = size = 0;
time = 0;
if (hash) {
*hash = 0;
}
if (size) {
*size = 0;
}
if (time) {
*time = 0;
}
return false;
}
*comment = it->second.m_comment;
+1 -3
View File
@@ -551,12 +551,10 @@ class Message : public AttributedItem {
/**
* Decode the message from the last stored data.
* @param leadingSeparator whether to prepend a separator before the first value.
* @param fields the list of message and/or data field fields to write, or NULL for all.
* @param outputFormat the @a OutputFormat options to use.
* @param output the @a ostringstream to append the decoded value(s) to.
*/
virtual void decode(bool leadingSeparator, const vector<string>* fields,
OutputFormat outputFormat, ostringstream* output) const;
virtual void decode(bool leadingSeparator, OutputFormat outputFormat, ostringstream* output) const;
protected:
/** the optional circuit name. */