Hi Aki, > --- a/src/history.c > +++ b/src/history.c > @@ -47,7 +47,15 @@ struct history_call_foreach_data { > struct history_sms_foreach_data { > const struct ofono_uuid *uuid; > const char *address; > - const char *text; > + union { > + const char *text; > + struct { > + const unsigned char *data; > + unsigned len; > + guint16 dst; > + guint16 src; Are you overflowing the dst/src ports for the 16 bit case by any chance? With the 8bit port fix patch, we're actually using 24 bits to store these values. There might need to be a comment in the history API about this. Are 8 bit ports even used in practice? If not, then might be that shifting 8-bit values by 16 is better... Other than that, I'm happy with this one. Regards, -Denis