Take the following struct:
struct Foo {
uint16_t bar;
};
packingtape generates the following implementation output:
const size_t FOO_SERIALIZED_SIZE = 2;
// **** AUTOMATICALLY GENERATED, DO NOT EDIT ****
size_t serialize_Foo(const struct Foo *source, uint8_t *outputBuffer, size_t outputBufferLength) {
uint32_t temporary32;
uint16_t temporary16;
if(!outputBuffer) {
return -1;
}else if(outputBufferLength < FOO_SERIALIZED_SIZE) {
return -2;
}
temporary16 = htons(source->bar);
memcpy(outputBuffer, &temporary16, sizeof(uint16_t));
outputBuffer += sizeof(uint16_t);
return FOO_SERIALIZED_SIZE;
}
// **** AUTOMATICALLY GENERATED, DO NOT EDIT ****
size_t deserialize_Foo(const uint8_t *data, size_t dataLength, struct Foo *output) {
if(!data) {
return -1;
}else if(dataLength < FOO_SERIALIZED_SIZE) {
return -2;
}
memcpy(&(output->bar), data, sizeof(uint16_t));
output->bar = ntohs(output->bar);
data += sizeof(uint16_t);
return FOO_SERIALIZED_SIZE;
}
The temporary32 variable is present in the generated serialize_Foo function, even though it is never used. This will cause compiler warnings/errors.
Take the following struct:
packingtape generates the following implementation output:
The
temporary32variable is present in the generatedserialize_Foofunction, even though it is never used. This will cause compiler warnings/errors.