diff options
-rw-r--r-- | src/smsutil.c | 15 | ||||
-rw-r--r-- | src/smsutil.h | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/smsutil.c b/src/smsutil.c index 725e409e..4881250e 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -1677,3 +1677,18 @@ time_t sms_scts_to_time(const struct sms_scts *scts, struct tm *remote) return ret; } + +const char *sms_address_to_string(const struct sms_address *addr) +{ + static char buffer[64]; + + if (addr->number_type == SMS_NUMBER_TYPE_INTERNATIONAL && + (strlen(addr->address) > 0) && + addr->address[0] != '+') { + buffer[0] = '+'; + strcpy(buffer + 1, addr->address); + } else + strcpy(buffer, addr->address); + + return buffer; +} diff --git a/src/smsutil.h b/src/smsutil.h index 71c88af2..0158f0b4 100644 --- a/src/smsutil.h +++ b/src/smsutil.h @@ -330,6 +330,8 @@ gboolean sms_encode(const struct sms *in, int *len, int *tpdu_len, int sms_udl_in_bytes(guint8 ud_len, guint8 dcs); time_t sms_scts_to_time(const struct sms_scts *scts, struct tm *remote); +const char *sms_address_to_string(const struct sms_address *addr); + const guint8 *sms_extract_common(const struct sms *sms, gboolean *out_udhi, guint8 *out_dcs, guint8 *out_udl, guint8 *out_max); |