@@ -2874,6 +2874,7 @@ issize_t sip_identity_d(su_home_t *home, sip_header_t *h, char *s, isize_t slen)
28742874
28752875 if (p ) {
28762876 ie = strchr (p , ';' );
2877+ if (!ie ) ie = strchr (p , '\0' );
28772878 pp = strchr (p , '<' );
28782879 ppp = strchr (p , '>' );
28792880
@@ -2893,8 +2894,6 @@ issize_t sip_identity_d(su_home_t *home, sip_header_t *h, char *s, isize_t slen)
28932894 alg = strchr (alg , ';' );
28942895 if (alg ) {
28952896 * alg = '\0' ;
2896- } else {
2897- id -> id_info_alg = NULL ;
28982897 }
28992898 }
29002899
@@ -2926,23 +2925,21 @@ issize_t sip_identity_e(char b[], isize_t bsiz, sip_header_t const *h, int flags
29262925
29272926 if (id -> id_signed_identity_digest ) {
29282927 MSG_STRING_E (b , end , id -> id_signed_identity_digest );
2929- MSG_CHAR_E (b , end , ';' );
29302928 }
29312929
29322930 if (id -> id_info ) {
2933- MSG_STRING_E (b , end , "info=<" );
2931+ MSG_STRING_E (b , end , "; info=<" );
29342932 MSG_STRING_E (b , end , id -> id_info );
2935- MSG_STRING_E (b , end , ">; " );
2933+ MSG_STRING_E (b , end , ">" );
29362934 }
29372935
29382936 if (id -> id_info_alg ) {
2939- MSG_STRING_E (b , end , "alg=" );
2937+ MSG_STRING_E (b , end , "; alg=" );
29402938 MSG_STRING_E (b , end , id -> id_info_alg );
2941- MSG_CHAR_E (b , end , ';' );
29422939 }
29432940
29442941 if (id -> id_info_ppt ) {
2945- MSG_STRING_E (b , end , "ppt=" );
2942+ MSG_STRING_E (b , end , "; ppt=" );
29462943 MSG_STRING_E (b , end , id -> id_info_ppt );
29472944 /* No need to put ';' as following MSG_PARAMS_E starts from ';' */
29482945 }
0 commit comments