Changeset 1241 for pjproject/trunk/pjsip/src/pjsip/sip_util.c
- Timestamp:
- May 2, 2007 5:14:29 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsip/sip_util.c
r1127 r1241 85 85 endpt_hdr = pjsip_endpt_get_request_headers(endpt)->next; 86 86 while (endpt_hdr != pjsip_endpt_get_request_headers(endpt)) { 87 pjsip_hdr *hdr = pjsip_hdr_shallow_clone(tdata->pool, endpt_hdr); 87 pjsip_hdr *hdr = (pjsip_hdr*) 88 pjsip_hdr_shallow_clone(tdata->pool, endpt_hdr); 88 89 pjsip_msg_add_hdr( tdata->msg, hdr ); 89 90 endpt_hdr = endpt_hdr->next; … … 93 94 if (param_from->tag.slen == 0) 94 95 pj_create_unique_string(tdata->pool, ¶m_from->tag); 95 pjsip_msg_add_hdr(msg, ( void*)param_from);96 pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_from); 96 97 97 98 /* Add To header. */ 98 pjsip_msg_add_hdr(msg, ( void*)param_to);99 pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_to); 99 100 100 101 /* Add Contact header. */ 101 102 if (param_contact) { 102 pjsip_msg_add_hdr(msg, ( void*)param_contact);103 pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_contact); 103 104 } 104 105 105 106 /* Add Call-ID header. */ 106 pjsip_msg_add_hdr(msg, ( void*)param_call_id);107 pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_call_id); 107 108 108 109 /* Add CSeq header. */ 109 pjsip_msg_add_hdr(msg, ( void*)param_cseq);110 pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_cseq); 110 111 111 112 /* Add a blank Via header in the front of the message. */ 112 113 via = pjsip_via_hdr_create(tdata->pool); 113 114 via->rport_param = 0; 114 pjsip_msg_insert_first_hdr(msg, ( void*)via);115 pjsip_msg_insert_first_hdr(msg, (pjsip_hdr*)via); 115 116 116 117 /* Add header params as request headers */ … … 135 136 /* Create message body. */ 136 137 if (param_text) { 137 body = pj_pool_calloc(tdata->pool, 1, sizeof(pjsip_msg_body));138 body = PJ_POOL_ZALLOC_T(tdata->pool, pjsip_msg_body); 138 139 body->content_type.type = str_TEXT; 139 140 body->content_type.subtype = str_PLAIN; … … 297 298 PJ_TRY { 298 299 /* Duplicate target URI and headers. */ 299 target = pjsip_uri_clone(tdata->pool, param_target);300 from = pjsip_hdr_clone(tdata->pool, param_from);300 target = (pjsip_uri*) pjsip_uri_clone(tdata->pool, param_target); 301 from = (pjsip_from_hdr*) pjsip_hdr_clone(tdata->pool, param_from); 301 302 pjsip_fromto_hdr_set_from(from); 302 to = pjsip_hdr_clone(tdata->pool, param_to);303 to = (pjsip_to_hdr*) pjsip_hdr_clone(tdata->pool, param_to); 303 304 pjsip_fromto_hdr_set_to(to); 304 if (param_contact) 305 contact = pjsip_hdr_clone(tdata->pool, param_contact); 306 else 305 if (param_contact) { 306 contact = (pjsip_contact_hdr*) 307 pjsip_hdr_clone(tdata->pool, param_contact); 308 } else { 307 309 contact = NULL; 308 call_id = pjsip_hdr_clone(tdata->pool, param_call_id); 310 } 311 call_id = (pjsip_cid_hdr*) pjsip_hdr_clone(tdata->pool, param_call_id); 309 312 cseq = pjsip_cseq_hdr_create(tdata->pool); 310 313 if (param_cseq >= 0) … … 386 389 via = rdata->msg_info.via; 387 390 while (via) { 388 pjsip_msg_add_hdr( msg, pjsip_hdr_clone(tdata->pool, via));391 pjsip_msg_add_hdr( msg, (pjsip_hdr*)pjsip_hdr_clone(tdata->pool, via)); 389 392 via = via->next; 390 393 if (via != (void*)&req_msg->hdr) 391 via = pjsip_msg_find_hdr(req_msg, PJSIP_H_VIA, via); 394 via = (pjsip_via_hdr*) 395 pjsip_msg_find_hdr(req_msg, PJSIP_H_VIA, via); 392 396 else 393 397 break; … … 395 399 396 400 /* Copy all Record-Route headers, in order. */ 397 rr = pjsip_msg_find_hdr(req_msg, PJSIP_H_RECORD_ROUTE, NULL); 401 rr = (pjsip_rr_hdr*) 402 pjsip_msg_find_hdr(req_msg, PJSIP_H_RECORD_ROUTE, NULL); 398 403 while (rr) { 399 pjsip_msg_add_hdr(msg, pjsip_hdr_clone(tdata->pool, rr));404 pjsip_msg_add_hdr(msg, (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, rr)); 400 405 rr = rr->next; 401 406 if (rr != (void*)&req_msg->hdr) 402 rr = pjsip_msg_find_hdr(req_msg, PJSIP_H_RECORD_ROUTE, rr); 407 rr = (pjsip_rr_hdr*) pjsip_msg_find_hdr(req_msg, 408 PJSIP_H_RECORD_ROUTE, rr); 403 409 else 404 410 break; … … 406 412 407 413 /* Copy Call-ID header. */ 408 hdr = pjsip_msg_find_hdr( req_msg, PJSIP_H_CALL_ID, NULL);409 pjsip_msg_add_hdr(msg, pjsip_hdr_clone(tdata->pool, hdr));414 hdr = (pjsip_hdr*) pjsip_msg_find_hdr( req_msg, PJSIP_H_CALL_ID, NULL); 415 pjsip_msg_add_hdr(msg, (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, hdr)); 410 416 411 417 /* Copy From header. */ 412 hdr = pjsip_hdr_clone(tdata->pool, rdata->msg_info.from);418 hdr = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, rdata->msg_info.from); 413 419 pjsip_msg_add_hdr( msg, hdr); 414 420 415 421 /* Copy To header. */ 416 hdr = pjsip_hdr_clone(tdata->pool, rdata->msg_info.to);422 hdr = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, rdata->msg_info.to); 417 423 pjsip_msg_add_hdr( msg, hdr); 418 424 419 425 /* Copy CSeq header. */ 420 hdr = pjsip_hdr_clone(tdata->pool, rdata->msg_info.cseq);426 hdr = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, rdata->msg_info.cseq); 421 427 pjsip_msg_add_hdr( msg, hdr); 422 428 … … 495 501 496 502 /* Clear Via headers in the new request. */ 497 while ((via= pjsip_msg_find_hdr(ack->msg, PJSIP_H_VIA, NULL)) != NULL)503 while ((via=(pjsip_hdr*)pjsip_msg_find_hdr(ack->msg, PJSIP_H_VIA, NULL)) != NULL) 498 504 pj_list_erase(via); 499 505 500 506 /* Must contain single Via, just as the original INVITE. */ 501 hdr = pjsip_msg_find_hdr( invite_msg, PJSIP_H_VIA, NULL); 502 pjsip_msg_insert_first_hdr( ack->msg, pjsip_hdr_clone(ack->pool,hdr) ); 507 hdr = (pjsip_hdr*) pjsip_msg_find_hdr( invite_msg, PJSIP_H_VIA, NULL); 508 pjsip_msg_insert_first_hdr( ack->msg, 509 (pjsip_hdr*) pjsip_hdr_clone(ack->pool,hdr) ); 503 510 504 511 /* If the original INVITE has Route headers, those header fields MUST 505 512 * appear in the ACK. 506 513 */ 507 hdr = pjsip_msg_find_hdr( invite_msg, PJSIP_H_ROUTE, NULL);514 hdr = (pjsip_hdr*) pjsip_msg_find_hdr( invite_msg, PJSIP_H_ROUTE, NULL); 508 515 while (hdr != NULL) { 509 pjsip_msg_add_hdr( ack->msg, pjsip_hdr_clone(ack->pool, hdr) ); 516 pjsip_msg_add_hdr( ack->msg, 517 (pjsip_hdr*) pjsip_hdr_clone(ack->pool, hdr) ); 510 518 hdr = hdr->next; 511 519 if (hdr == &invite_msg->hdr) 512 520 break; 513 hdr = pjsip_msg_find_hdr( invite_msg, PJSIP_H_ROUTE, hdr);521 hdr = (pjsip_hdr*) pjsip_msg_find_hdr( invite_msg, PJSIP_H_ROUTE, hdr); 514 522 } 515 523 … … 579 587 580 588 /* Clear Via headers in the new request. */ 581 while ((via= pjsip_msg_find_hdr(cancel_tdata->msg, PJSIP_H_VIA, NULL)) != NULL)589 while ((via=(pjsip_hdr*)pjsip_msg_find_hdr(cancel_tdata->msg, PJSIP_H_VIA, NULL)) != NULL) 582 590 pj_list_erase(via); 583 591 … … 586 594 * request being cancelled. 587 595 */ 588 hdr = pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_VIA, NULL);596 hdr = (pjsip_hdr*) pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_VIA, NULL); 589 597 if (hdr) { 590 598 pjsip_msg_insert_first_hdr(cancel_tdata->msg, 591 pjsip_hdr_clone(cancel_tdata->pool, hdr));599 (pjsip_hdr*)pjsip_hdr_clone(cancel_tdata->pool, hdr)); 592 600 } 593 601 … … 596 604 * Copy "Route" header from the request. 597 605 */ 598 hdr = pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_ROUTE, NULL);606 hdr = (pjsip_hdr*) pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_ROUTE, NULL); 599 607 while (hdr != NULL) { 600 608 pjsip_msg_add_hdr(cancel_tdata->msg, 601 pjsip_hdr_clone(cancel_tdata->pool, hdr));609 (pjsip_hdr*) pjsip_hdr_clone(cancel_tdata->pool, hdr)); 602 610 hdr = hdr->next; 603 611 if (hdr != &req_tdata->msg->hdr) 604 hdr = pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_ROUTE, hdr); 612 hdr = (pjsip_hdr*) pjsip_msg_find_hdr(req_tdata->msg, 613 PJSIP_H_ROUTE, hdr); 605 614 else 606 615 break; … … 638 647 /* Get the first "Route" header from the message. 639 648 */ 640 first_route_hdr = pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE, NULL); 649 first_route_hdr = (const pjsip_route_hdr*) 650 pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE, NULL); 641 651 if (first_route_hdr) { 642 652 target_uri = first_route_hdr->name_addr.uri; … … 698 708 699 709 /* Find the first and last "Route" headers from the message. */ 700 last_route_hdr = first_route_hdr = 710 last_route_hdr = first_route_hdr = (pjsip_route_hdr*) 701 711 pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE, NULL); 702 712 if (first_route_hdr) { … … 704 714 while (last_route_hdr->next != (void*)&tdata->msg->hdr) { 705 715 pjsip_route_hdr *hdr; 706 hdr = pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE, 716 hdr = (pjsip_route_hdr*) 717 pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE, 707 718 last_route_hdr->next); 708 719 if (!hdr) … … 729 740 PJSIP_URI_SCHEME_IS_SIPS(topmost_route_uri)) 730 741 { 731 const pjsip_sip_uri *url = 742 const pjsip_sip_uri *url = (const pjsip_sip_uri*) 732 743 pjsip_uri_get_uri((void*)topmost_route_uri); 733 744 has_lr_param = url->lr_param; … … 748 759 */ 749 760 } else { 750 new_request_uri = pjsip_uri_get_uri((void*)topmost_route_uri); 761 new_request_uri = (const pjsip_uri*) 762 pjsip_uri_get_uri((pjsip_uri*)topmost_route_uri); 751 763 pj_list_erase(first_route_hdr); 752 764 if (first_route_hdr == last_route_hdr) … … 794 806 if (new_request_uri && new_request_uri!=tdata->msg->line.req.uri) { 795 807 pjsip_route_hdr *route = pjsip_route_hdr_create(tdata->pool); 796 route->name_addr.uri = pjsip_uri_get_uri(tdata->msg->line.req.uri); 808 route->name_addr.uri = (pjsip_uri*) 809 pjsip_uri_get_uri(tdata->msg->line.req.uri); 797 810 if (last_route_hdr) 798 811 pj_list_insert_after(last_route_hdr, route); … … 815 828 pj_ssize_t sent ) 816 829 { 817 pjsip_send_state *stateless_data = token;830 pjsip_send_state *stateless_data = (pjsip_send_state*) token; 818 831 819 832 PJ_UNUSED_ARG(tdata); … … 916 929 if (via->branch_param.slen == 0) { 917 930 pj_str_t tmp; 918 via->branch_param.ptr = pj_pool_alloc(tdata->pool,919 PJSIP_MAX_BRANCH_LEN);931 via->branch_param.ptr = (char*)pj_pool_alloc(tdata->pool, 932 PJSIP_MAX_BRANCH_LEN); 920 933 via->branch_param.slen = PJSIP_MAX_BRANCH_LEN; 921 934 pj_memcpy(via->branch_param.ptr, PJSIP_RFC3261_BRANCH_ID, … … 961 974 const struct pjsip_server_addresses *addr) 962 975 { 963 pjsip_send_state *stateless_data = token;976 pjsip_send_state *stateless_data = (pjsip_send_state*) token; 964 977 965 978 /* Fail on server resolution. */ … … 1009 1022 1010 1023 /* Keep stateless data. */ 1011 stateless_data = pj_pool_zalloc(tdata->pool, sizeof(pjsip_send_state));1024 stateless_data = PJ_POOL_ZALLOC_T(tdata->pool, pjsip_send_state); 1012 1025 stateless_data->token = token; 1013 1026 stateless_data->endpt = endpt; … … 1136 1149 pj_ssize_t sent) 1137 1150 { 1138 pjsip_send_state *send_state = token;1151 pjsip_send_state *send_state = (pjsip_send_state*) token; 1139 1152 pj_bool_t cont = PJ_FALSE; 1140 1153 … … 1156 1169 const pjsip_server_addresses *addr ) 1157 1170 { 1158 pjsip_send_state *send_state = token;1171 pjsip_send_state *send_state = (pjsip_send_state*) token; 1159 1172 1160 1173 if (status != PJ_SUCCESS) { … … 1225 1238 1226 1239 /* Create structure to keep the sending state. */ 1227 send_state = pj_pool_zalloc(tdata->pool, sizeof(pjsip_send_state));1240 send_state = PJ_POOL_ZALLOC_T(tdata->pool, pjsip_send_state); 1228 1241 send_state->endpt = endpt; 1229 1242 send_state->tdata = tdata; … … 1318 1331 const pjsip_hdr *hdr = hdr_list->next; 1319 1332 while (hdr != hdr_list) { 1320 pjsip_msg_add_hdr( tdata->msg, pjsip_hdr_clone(tdata->pool, hdr) ); 1333 pjsip_msg_add_hdr(tdata->msg, 1334 (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, hdr) ); 1321 1335 hdr = hdr->next; 1322 1336 }
Note: See TracChangeset
for help on using the changeset viewer.