Skip to content

Commit f5ae3f4

Browse files
[TMP] flash memory savings
1 parent 9f2372d commit f5ae3f4

File tree

4 files changed

+6
-7
lines changed

4 files changed

+6
-7
lines changed

src/cbor/CborDecoder.cpp

+2-4
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,9 @@ Decoder::Status CBORMessageDecoderClass::decode(Message* msg, const uint8_t* con
3232
}
3333

3434
// encode the message
35-
if(decoder_it->second->_decode(&iter, msg) == Decoder::Status::Error) {
36-
return Decoder::Status::Error;
37-
}
35+
CBORMessageDecoderInterface* decoder = (CBORMessageDecoderInterface*) decoder_it->second;
3836

39-
return Decoder::Status::Complete;
37+
return decoder->_decode(&iter, msg);
4038
}
4139

4240
CBORMessageDecoderInterface::CBORMessageDecoderInterface(const CBORTag tag, const MessageId id)

src/cbor/CborDecoder.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class CBORMessageDecoderClass: public Decoder {
4848

4949
Decoder::Status decode(Message* msg, const uint8_t* const buf, size_t &len);
5050
private:
51-
std::map<CBORTag, CBORMessageDecoderInterface*> decoders;
51+
std::map<CBORTag, void*> decoders;
5252
};
5353

5454
extern CBORMessageDecoderClass& CBORMessageDecoder;

src/cbor/CborEncoder.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ Encoder::Status CBORMessageEncoderClass::encode(Message* message, uint8_t * data
1616
}
1717

1818
// encode the message
19-
if(encoder_it->second->_encode(&encoder, message) == Encoder::Status::Error) {
19+
CBORMessageEncoderInterface* encoder_ptr = (CBORMessageEncoderInterface*) encoder_it->second;
20+
if(encoder_ptr->_encode(&encoder, message) == Encoder::Status::Error) {
2021
return Encoder::Status::Error;
2122
}
2223

src/cbor/CborEncoder.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class CBORMessageEncoderClass: public Encoder {
4848

4949
Encoder::Status encode(Message* message, uint8_t * data, size_t& len);
5050
private:
51-
std::map<MessageId, CBORMessageEncoderInterface*> encoders;
51+
std::map<MessageId, void*> encoders;
5252
};
5353

5454
extern CBORMessageEncoderClass& CBORMessageEncoder;

0 commit comments

Comments
 (0)