~phablet-team/ofono/midori-support

« back to all changes in this revision

Viewing changes to src/smsutil.c

Merge pull request #209 from alfonsosanchezbeato/merge-1.17

Merge 1.17

Show diffs side-by-side

added added

removed removed

Lines of Context:
524
524
gboolean sms_encode_address_field(const struct sms_address *in, gboolean sc,
525
525
                                        unsigned char *pdu, int *offset)
526
526
{
527
 
        size_t len = strlen(in->address);
 
527
        const char *addr = (const char *)&in->address;
 
528
        size_t len = strlen(addr);
528
529
        unsigned char addr_len = 0;
529
530
        unsigned char p[10];
530
531
 
546
547
                unsigned char *gsm;
547
548
                unsigned char *r;
548
549
 
549
 
                if (len > 11)
 
550
                /* TP-OA's 10 octets transport 11 8-bit chars */
 
551
                if (g_utf8_strlen(addr, strlen(addr)) > 11)
550
552
                        return FALSE;
551
553
 
552
554
                gsm = convert_utf8_to_gsm(in->address, len, NULL, &written, 0);
553
555
                if (gsm == NULL)
554
556
                        return FALSE;
555
557
 
 
558
                if (written > 11) {
 
559
                        g_free(gsm);
 
560
                        return FALSE;
 
561
                }
 
562
 
556
563
                r = pack_7bit_own_buf(gsm, written, 0, FALSE, &packed, 0, p);
557
564
 
558
565
                g_free(gsm);
675
682
                if (utf8 == NULL)
676
683
                        return FALSE;
677
684
 
678
 
                if (strlen(utf8) > 20) {
 
685
                /*
 
686
                 * TP-OA's 10 octets transport 11 8-bit chars,
 
687
                 * 22 bytes+terminator in UTF-8.
 
688
                 */
 
689
                if (strlen(utf8) > 22) {
679
690
                        g_free(utf8);
680
691
                        return FALSE;
681
692
                }