| 217 | |
| 218 | |
| 219 | void L3BCDDigits::write(L3Frame& dest, size_t &wp) const |
| 220 | { |
| 221 | bool invalid = false; |
| 222 | unsigned index = 0; |
| 223 | unsigned numDigits = strlen(mDigits); |
| 224 | if (index < numDigits && mDigits[index] == '+') { |
| 225 | index++; |
| 226 | } |
| 227 | while (index < numDigits) { |
| 228 | if ((index+1) < numDigits) dest.writeField(wp,encode(mDigits[index+1],&invalid),4); |
| 229 | else dest.writeField(wp,0x0f,4); |
| 230 | dest.writeField(wp,encode(mDigits[index],&invalid),4); |
| 231 | index += 2; |
| 232 | } |
| 233 | if (invalid) { LOG(ERR) << "Invalid BCD string: '" <<mDigits<< "'"; } |
| 234 | } |
| 235 | |
| 236 | |
| 237 | size_t L3BCDDigits::lengthV() const |
no test coverage detected