Hi Inaky, > +enum { SMS_ADDR_STR_SIZE = 25 }; > +#define DECLARE_SMS_ADDR_STR(a) char a[SMS_ADDR_STR_SIZE] > + > gboolean sms_decode_address_field(const unsigned char *pdu, int len, > int *offset, gboolean sc, > struct sms_address *out); Sounds fine to me, but can we get rid of the enum declaration? simply char a[25] seems to be enough. Might want to add a comment explaining why it is 25. Namely that sms address is encoded into 12 bytes, stored in hex format and space for a null. Regards, -Denis