summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-05-02 05:14:29 +0000
committerBenny Prijono <bennylp@teluu.com>2007-05-02 05:14:29 +0000
commit67ecaf91d4e3383af948d75df8164436c7116bbc (patch)
tree6ce7ca1c09c55433846056b434f32e0918d3d03d
parent682ee6718afa661df775bd44b4fdf89344ec67b2 (diff)
Ported PJSIP and PJSIP-SIMPLE to Symbian
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1241 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--build.symbian/pjsip_simple.mmp2
-rw-r--r--pjsip/src/pjsip-simple/evsub.c66
-rw-r--r--pjsip/src/pjsip-simple/evsub_msg.c12
-rw-r--r--pjsip/src/pjsip-simple/iscomposing.c9
-rw-r--r--pjsip/src/pjsip-simple/pidf.c24
-rw-r--r--pjsip/src/pjsip-simple/presence.c35
-rw-r--r--pjsip/src/pjsip-simple/presence_body.c13
-rw-r--r--pjsip/src/pjsip-simple/publishc.c23
-rw-r--r--pjsip/src/pjsip-simple/xpidf.c7
-rw-r--r--pjsip/src/pjsip/sip_tel_uri.c26
-rw-r--r--pjsip/src/pjsip/sip_transaction.c45
-rw-r--r--pjsip/src/pjsip/sip_transport.c32
-rw-r--r--pjsip/src/pjsip/sip_transport_loop.c8
-rw-r--r--pjsip/src/pjsip/sip_transport_tcp.c25
-rw-r--r--pjsip/src/pjsip/sip_transport_udp.c12
-rw-r--r--pjsip/src/pjsip/sip_ua_layer.c32
-rw-r--r--pjsip/src/pjsip/sip_uri.c61
-rw-r--r--pjsip/src/pjsip/sip_util.c118
-rw-r--r--pjsip/src/pjsip/sip_util_proxy.c14
-rw-r--r--pjsip/src/pjsip/sip_util_statefull.c7
20 files changed, 317 insertions, 254 deletions
diff --git a/build.symbian/pjsip_simple.mmp b/build.symbian/pjsip_simple.mmp
index a5763d8f..16b7f8a5 100644
--- a/build.symbian/pjsip_simple.mmp
+++ b/build.symbian/pjsip_simple.mmp
@@ -9,7 +9,7 @@ MACRO PJ_M_I386=1
MACRO PJ_SYMBIAN=1
MACRO PJ_IMPORTING
-//OPTION CW -lang c++
+OPTION CW -lang c++
// PJSIP-SIMPLE files
diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c
index 56fa8eac..326afa8a 100644
--- a/pjsip/src/pjsip-simple/evsub.c
+++ b/pjsip/src/pjsip-simple/evsub.c
@@ -51,13 +51,13 @@ enum
const pjsip_method pjsip_subscribe_method =
{
- PJSIP_SUBSCRIBE_METHOD,
+ (pjsip_method_e) PJSIP_SUBSCRIBE_METHOD,
{ "SUBSCRIBE", 9 }
};
const pjsip_method pjsip_notify_method =
{
- PJSIP_NOTIFY_METHOD,
+ (pjsip_method_e) PJSIP_NOTIFY_METHOD,
{ "NOTIFY", 6 }
};
@@ -327,7 +327,7 @@ PJ_DEF(pjsip_module*) pjsip_evsub_instance(void)
*/
PJ_DEF(pjsip_evsub*) pjsip_tsx_get_evsub(pjsip_transaction *tsx)
{
- return tsx->mod_data[mod_evsub.mod.id];
+ return (pjsip_evsub*) tsx->mod_data[mod_evsub.mod.id];
}
@@ -395,7 +395,7 @@ PJ_DEF(pj_status_t) pjsip_evsub_register_pkg( pjsip_module *pkg_mod,
/* Create new event package: */
- pkg = pj_pool_alloc(mod_evsub.pool, sizeof(struct evpkg));
+ pkg = PJ_POOL_ALLOC_T(mod_evsub.pool, struct evpkg);
pkg->pkg_mod = pkg_mod;
pkg->pkg_expires = expires;
pj_strdup(mod_evsub.pool, &pkg->pkg_name, event_name);
@@ -508,8 +508,8 @@ static void evsub_destroy( pjsip_evsub *sub )
/* Kill timer */
set_timer(sub, TIMER_TYPE_NONE, 0);
- /* Remote this session from dialog's list of subscription */
- dlgsub_head = sub->dlg->mod_data[mod_evsub.mod.id];
+ /* Remove this session from dialog's list of subscription */
+ dlgsub_head = (struct dlgsub *) sub->dlg->mod_data[mod_evsub.mod.id];
dlgsub = dlgsub_head->next;
while (dlgsub != dlgsub_head) {
@@ -572,7 +572,7 @@ static void on_timer( pj_timer_heap_t *timer_heap,
PJ_UNUSED_ARG(timer_heap);
- sub = entry->user_data;
+ sub = (pjsip_evsub*) entry->user_data;
pjsip_dlg_inc_lock(sub->dlg);
@@ -673,7 +673,7 @@ static pj_status_t evsub_create( pjsip_dialog *dlg,
/* Init attributes: */
- sub = pj_pool_zalloc(dlg->pool, sizeof(struct pjsip_evsub));
+ sub = PJ_POOL_ZALLOC_T(dlg->pool, struct pjsip_evsub);
sub->pool = dlg->pool;
sub->endpt = dlg->endpt;
sub->dlg = dlg;
@@ -684,7 +684,8 @@ static pj_status_t evsub_create( pjsip_dialog *dlg,
sub->state = PJSIP_EVSUB_STATE_NULL;
sub->state_str = evsub_state_names[sub->state];
sub->expires = pjsip_expires_hdr_create(sub->pool, pkg->pkg_expires);
- sub->accept = pjsip_hdr_clone(sub->pool, pkg->pkg_accept);
+ sub->accept = (pjsip_accept_hdr*)
+ pjsip_hdr_clone(sub->pool, pkg->pkg_accept);
sub->timer.user_data = sub;
sub->timer.cb = &on_timer;
@@ -706,8 +707,8 @@ static pj_status_t evsub_create( pjsip_dialog *dlg,
/* Create subcription list: */
- dlgsub_head = pj_pool_alloc(sub->pool, sizeof(struct dlgsub));
- dlgsub = pj_pool_alloc(sub->pool, sizeof(struct dlgsub));
+ dlgsub_head = PJ_POOL_ALLOC_T(sub->pool, struct dlgsub);
+ dlgsub = PJ_POOL_ALLOC_T(sub->pool, struct dlgsub);
dlgsub->sub = sub;
pj_list_init(dlgsub_head);
@@ -828,7 +829,7 @@ PJ_DEF(pj_status_t) pjsip_evsub_create_uas( pjsip_dialog *dlg,
goto on_return;
/* Just duplicate Event header from the request */
- sub->event = pjsip_hdr_clone(sub->pool, event_hdr);
+ sub->event = (pjsip_event_hdr*) pjsip_hdr_clone(sub->pool, event_hdr);
/* Set the method: */
pjsip_method_copy(sub->pool, &sub->method,
@@ -850,7 +851,7 @@ PJ_DEF(pj_status_t) pjsip_evsub_create_uas( pjsip_dialog *dlg,
accept_hdr = (pjsip_accept_hdr*)
pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_ACCEPT, NULL);
if (accept_hdr)
- sub->accept = pjsip_hdr_clone(sub->pool, accept_hdr);
+ sub->accept = (pjsip_accept_hdr*)pjsip_hdr_clone(sub->pool,accept_hdr);
/* We can start the session: */
@@ -941,22 +942,22 @@ PJ_DEF(pj_status_t) pjsip_evsub_initiate( pjsip_evsub *sub,
/* Add Event header: */
- pjsip_msg_add_hdr( tdata->msg,
+ pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, sub->event));
/* Update and add expires header: */
if (expires >= 0)
sub->expires->ivalue = expires;
- pjsip_msg_add_hdr( tdata->msg,
+ pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, sub->expires));
/* Add Accept header: */
- pjsip_msg_add_hdr( tdata->msg,
+ pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, sub->accept));
/* Add Allow-Events header: */
- pjsip_msg_add_hdr( tdata->msg,
+ pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool,
mod_evsub.allow_events_hdr));
@@ -1011,14 +1012,14 @@ PJ_DEF(pj_status_t) pjsip_evsub_accept( pjsip_evsub *sub,
/* Add expires header: */
- pjsip_msg_add_hdr( tdata->msg,
+ pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, sub->expires));
/* Add additional header, if any. */
if (hdr_list) {
const pjsip_hdr *hdr = hdr_list->next;
while (hdr != hdr_list) {
- pjsip_msg_add_hdr( tdata->msg,
+ pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)
pjsip_hdr_clone(tdata->pool, hdr));
hdr = hdr->next;
}
@@ -1117,7 +1118,7 @@ PJ_DEF(pj_status_t) pjsip_evsub_notify( pjsip_evsub *sub,
goto on_return;
/* Add Event header */
- pjsip_msg_add_hdr(tdata->msg,
+ pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, sub->event));
/* Add Subscription-State header */
@@ -1126,7 +1127,7 @@ PJ_DEF(pj_status_t) pjsip_evsub_notify( pjsip_evsub *sub,
pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)sub_state);
/* Add Allow-Events header */
- pjsip_msg_add_hdr(tdata->msg,
+ pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, mod_evsub.allow_events_hdr));
/* Add Authentication headers. */
@@ -1258,7 +1259,8 @@ static pjsip_evsub *on_new_transaction( pjsip_transaction *tsx,
return NULL;
}
- event_hdr = pjsip_msg_find_hdr_by_name(msg, &STR_EVENT, NULL);
+ event_hdr = (pjsip_event_hdr*)
+ pjsip_msg_find_hdr_by_name(msg, &STR_EVENT, NULL);
if (!event_hdr) {
/* Not subscription related message */
return NULL;
@@ -1268,9 +1270,9 @@ static pjsip_evsub *on_new_transaction( pjsip_transaction *tsx,
* of Event header:
*/
- dlgsub_head = dlg->mod_data[mod_evsub.mod.id];
+ dlgsub_head = (struct dlgsub*) dlg->mod_data[mod_evsub.mod.id];
if (dlgsub_head == NULL) {
- dlgsub_head = pj_pool_alloc(dlg->pool, sizeof(struct dlgsub));
+ dlgsub_head = PJ_POOL_ALLOC_T(dlg->pool, struct dlgsub);
pj_list_init(dlgsub_head);
dlg->mod_data[mod_evsub.mod.id] = dlgsub_head;
}
@@ -1416,7 +1418,7 @@ static pj_status_t create_response( pjsip_evsub *sub,
/* Add response headers. */
hdr = res_hdr->next;
while (hdr != res_hdr) {
- pjsip_msg_add_hdr( tdata->msg,
+ pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)
pjsip_hdr_clone(tdata->pool, hdr));
hdr = hdr->next;
}
@@ -1549,7 +1551,8 @@ static void on_tsx_state_uac( pjsip_evsub *sub, pjsip_transaction *tsx,
pjsip_expires_hdr *expires;
msg = event->body.tsx_state.src.rdata->msg_info.msg;
- expires = pjsip_msg_find_hdr(msg, PJSIP_H_EXPIRES, NULL);
+ expires = (pjsip_expires_hdr*)
+ pjsip_msg_find_hdr(msg, PJSIP_H_EXPIRES, NULL);
if (expires) {
sub->expires->ivalue = expires->ivalue;
}
@@ -1655,7 +1658,8 @@ static void on_tsx_state_uac( pjsip_evsub *sub, pjsip_transaction *tsx,
pj_list_init(&res_hdr);
/* Get subscription state header. */
- sub_state = pjsip_msg_find_hdr_by_name(msg, &STR_SUB_STATE, NULL);
+ sub_state = (pjsip_sub_state_hdr*)
+ pjsip_msg_find_hdr_by_name(msg, &STR_SUB_STATE, NULL);
if (sub_state == NULL) {
pjsip_warning_hdr *warn_hdr;
@@ -1803,8 +1807,10 @@ static void on_tsx_state_uas( pjsip_evsub *sub, pjsip_transaction *tsx,
/* Set expiration time based on client request (in Expires header),
* or package default expiration time.
*/
- event_hdr = pjsip_msg_find_hdr_by_name(msg, &STR_EVENT, NULL);
- expires = pjsip_msg_find_hdr(msg, PJSIP_H_EXPIRES, NULL);
+ event_hdr = (pjsip_event_hdr*)
+ pjsip_msg_find_hdr_by_name(msg, &STR_EVENT, NULL);
+ expires = (pjsip_expires_hdr*)
+ pjsip_msg_find_hdr(msg, PJSIP_H_EXPIRES, NULL);
if (event_hdr && expires) {
struct evpkg *evpkg;
@@ -1859,7 +1865,7 @@ static void on_tsx_state_uas( pjsip_evsub *sub, pjsip_transaction *tsx,
body, &tdata);
if (status == PJ_SUCCESS) {
/* Add expires header: */
- pjsip_msg_add_hdr( tdata->msg,
+ pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool,
sub->expires));
diff --git a/pjsip/src/pjsip-simple/evsub_msg.c b/pjsip/src/pjsip-simple/evsub_msg.c
index ead1c26d..467345d9 100644
--- a/pjsip/src/pjsip-simple/evsub_msg.c
+++ b/pjsip/src/pjsip-simple/evsub_msg.c
@@ -43,7 +43,7 @@ static pjsip_hdr_vptr event_hdr_vptr =
PJ_DEF(pjsip_event_hdr*) pjsip_event_hdr_create(pj_pool_t *pool)
{
- pjsip_event_hdr *hdr = pj_pool_zalloc(pool, sizeof(*hdr));
+ pjsip_event_hdr *hdr = PJ_POOL_ZALLOC_T(pool, pjsip_event_hdr);
hdr->type = PJSIP_H_OTHER;
hdr->name.ptr = "Event";
hdr->name.slen = 5;
@@ -93,7 +93,7 @@ static pjsip_event_hdr*
pjsip_event_hdr_shallow_clone( pj_pool_t *pool,
const pjsip_event_hdr *rhs )
{
- pjsip_event_hdr *hdr = pj_pool_alloc(pool, sizeof(*hdr));
+ pjsip_event_hdr *hdr = PJ_POOL_ALLOC_T(pool, pjsip_event_hdr);
pj_memcpy(hdr, rhs, sizeof(*hdr));
pjsip_param_shallow_clone(pool, &hdr->other_param, &rhs->other_param);
return hdr;
@@ -142,7 +142,7 @@ static pjsip_hdr_vptr sub_state_hdr_vptr =
PJ_DEF(pjsip_sub_state_hdr*) pjsip_sub_state_hdr_create(pj_pool_t *pool)
{
pj_str_t sub_state = { "Subscription-State", 18 };
- pjsip_sub_state_hdr *hdr = pj_pool_zalloc(pool, sizeof(*hdr));
+ pjsip_sub_state_hdr *hdr = PJ_POOL_ZALLOC_T(pool, pjsip_sub_state_hdr);
hdr->type = PJSIP_H_OTHER;
hdr->name = hdr->sname = sub_state;
hdr->vptr = &sub_state_hdr_vptr;
@@ -208,7 +208,7 @@ static pjsip_sub_state_hdr*
pjsip_sub_state_hdr_shallow_clone(pj_pool_t *pool,
const pjsip_sub_state_hdr *rhs)
{
- pjsip_sub_state_hdr *hdr = pj_pool_alloc(pool, sizeof(*hdr));
+ pjsip_sub_state_hdr *hdr = PJ_POOL_ALLOC_T(pool, pjsip_sub_state_hdr);
pj_memcpy(hdr, rhs, sizeof(*hdr));
pjsip_param_shallow_clone(pool, &hdr->other_param, &rhs->other_param);
return hdr;
@@ -234,7 +234,7 @@ static pjsip_hdr *parse_hdr_event(pjsip_parse_ctx *ctx)
if (pj_stricmp(&pname, &id_param)==0) {
hdr->id_param = pvalue;
} else {
- pjsip_param *param = pj_pool_alloc(ctx->pool, sizeof(pjsip_param));
+ pjsip_param *param = PJ_POOL_ALLOC_T(ctx->pool, pjsip_param);
param->name = pname;
param->value = pvalue;
pj_list_push_back(&hdr->other_param, param);
@@ -271,7 +271,7 @@ static pjsip_hdr* parse_hdr_sub_state( pjsip_parse_ctx *ctx )
hdr->retry_after = pj_strtoul(&pvalue);
} else {
- pjsip_param *param = pj_pool_alloc(ctx->pool, sizeof(pjsip_param));
+ pjsip_param *param = PJ_POOL_ALLOC_T(ctx->pool, pjsip_param);
param->name = pname;
param->value = pvalue;
pj_list_push_back(&hdr->other_param, param);
diff --git a/pjsip/src/pjsip-simple/iscomposing.c b/pjsip/src/pjsip-simple/iscomposing.c
index 7db421e7..d49fae4e 100644
--- a/pjsip/src/pjsip-simple/iscomposing.c
+++ b/pjsip/src/pjsip-simple/iscomposing.c
@@ -95,7 +95,7 @@ PJ_DEF(pj_xml_node*) pjsip_iscomposing_create_xml( pj_pool_t *pool,
/* Add refresh, if any. */
if (is_composing && refresh > 1 && refresh < 3601) {
node = pj_xml_node_new(pool, &STR_REFRESH);
- node->content.ptr = pj_pool_alloc(pool, 10);
+ node->content.ptr = (char*) pj_pool_alloc(pool, 10);
node->content.slen = pj_utoa(refresh, node->content.ptr);
pj_xml_add_node(doc, node);
}
@@ -113,7 +113,8 @@ PJ_DEF(pj_xml_node*) pjsip_iscomposing_create_xml( pj_pool_t *pool,
static int xml_print_body( struct pjsip_msg_body *msg_body,
char *buf, pj_size_t size)
{
- return pj_xml_print(msg_body->data, buf, size, PJ_TRUE);
+ return pj_xml_print((const pj_xml_node*)msg_body->data, buf, size,
+ PJ_TRUE);
}
@@ -123,7 +124,7 @@ static int xml_print_body( struct pjsip_msg_body *msg_body,
static void* xml_clone_data(pj_pool_t *pool, const void *data, unsigned len)
{
PJ_UNUSED_ARG(len);
- return pj_xml_clone( pool, data);
+ return pj_xml_clone( pool, (const pj_xml_node*)data);
}
@@ -143,7 +144,7 @@ PJ_DEF(pjsip_msg_body*) pjsip_iscomposing_create_body( pj_pool_t *pool,
return NULL;
- body = pj_pool_zalloc(pool, sizeof(pjsip_msg_body));
+ body = PJ_POOL_ZALLOC_T(pool, pjsip_msg_body);
body->content_type.type = STR_MIME_TYPE;
body->content_type.subtype = STR_MIME_SUBTYPE;
diff --git a/pjsip/src/pjsip-simple/pidf.c b/pjsip/src/pjsip-simple/pidf.c
index 1064f37c..730194c2 100644
--- a/pjsip/src/pjsip-simple/pidf.c
+++ b/pjsip/src/pjsip-simple/pidf.c
@@ -88,7 +88,7 @@ static void xml_init_node(pj_pool_t *pool, pj_xml_node *node,
static pj_xml_attr* xml_create_attr(pj_pool_t *pool, pj_str_t *name,
const pj_str_t *value)
{
- pj_xml_attr *attr = pj_pool_alloc(pool, sizeof(*attr));
+ pj_xml_attr *attr = PJ_POOL_ALLOC_T(pool, pj_xml_attr);
attr->name = *name;
pj_strdup(pool, &attr->value, value);
return attr;
@@ -110,7 +110,7 @@ PJ_DEF(void) pjpidf_pres_construct(pj_pool_t *pool, pjpidf_pres *pres,
PJ_DEF(pjpidf_tuple*) pjpidf_pres_add_tuple(pj_pool_t *pool, pjpidf_pres *pres,
const pj_str_t *id)
{
- pjpidf_tuple *t = pj_pool_alloc(pool, sizeof(*t));
+ pjpidf_tuple *t = PJ_POOL_ALLOC_T(pool, pjpidf_tuple);
pjpidf_tuple_construct(pool, t, id);
pj_xml_add_node(pres, t);
return t;
@@ -129,7 +129,7 @@ PJ_DEF(pjpidf_tuple*) pjpidf_pres_get_next_tuple(pjpidf_pres *pres,
static pj_bool_t find_tuple_by_id(pj_xml_node *node, const void *id)
{
- return pj_xml_find_attr(node, &ID, id) != NULL;
+ return pj_xml_find_attr(node, &ID, (const pj_str_t*)id) != NULL;
}
PJ_DEF(pjpidf_tuple*) pjpidf_pres_find_tuple(pjpidf_pres *pres, const pj_str_t *id)
@@ -146,7 +146,7 @@ PJ_DEF(void) pjpidf_pres_remove_tuple(pjpidf_pres *pres, pjpidf_tuple *t)
PJ_DEF(pjpidf_note*) pjpidf_pres_add_note(pj_pool_t *pool, pjpidf_pres *pres,
const pj_str_t *text)
{
- pjpidf_note *note = pj_pool_alloc(pool, sizeof(*note));
+ pjpidf_note *note = PJ_POOL_ALLOC_T(pool, pjpidf_note);
xml_init_node(pool, note, &NOTE, text);
pj_xml_add_node(pres, note);
return note;
@@ -173,7 +173,7 @@ PJ_DEF(void) pjpidf_tuple_construct(pj_pool_t *pool, pjpidf_tuple *t,
xml_init_node(pool, t, &TUPLE, NULL);
attr = xml_create_attr(pool, &ID, id);
pj_xml_add_attr(t, attr);
- st = pj_pool_alloc(pool, sizeof(*st));
+ st = PJ_POOL_ALLOC_T(pool, pjpidf_status);
pjpidf_status_construct(pool, st);
pj_xml_add_node(t, st);
}
@@ -214,7 +214,7 @@ PJ_DEF(void) pjpidf_tuple_set_contact(pj_pool_t *pool, pjpidf_tuple *t,
{
pj_xml_node *node = pj_xml_find_node(t, &CONTACT);
if (!node) {
- node = pj_pool_alloc(pool, sizeof(*node));
+ node = PJ_POOL_ALLOC_T(pool, pj_xml_node);
xml_init_node(pool, node, &CONTACT, contact);
pj_xml_add_node(t, node);
} else {
@@ -229,7 +229,7 @@ PJ_DEF(void) pjpidf_tuple_set_contact_prio(pj_pool_t *pool, pjpidf_tuple *t,
pj_xml_attr *attr;
if (!node) {
- node = pj_pool_alloc(pool, sizeof(*node));
+ node = PJ_POOL_ALLOC_T(pool, pj_xml_node);
xml_init_node(pool, node, &CONTACT, NULL);
pj_xml_add_node(t, node);
}
@@ -259,7 +259,7 @@ PJ_DEF(const pj_str_t*) pjpidf_tuple_get_contact_prio(const pjpidf_tuple *t)
PJ_DEF(pjpidf_note*) pjpidf_tuple_add_note(pj_pool_t *pool, pjpidf_tuple *t,
const pj_str_t *text)
{
- pjpidf_note *note = pj_pool_alloc(pool, sizeof(*note));
+ pjpidf_note *note = PJ_POOL_ALLOC_T(pool, pjpidf_note);
xml_init_node(pool, note, &NOTE, text);
pj_xml_add_node(t, note);
return note;
@@ -287,7 +287,7 @@ PJ_DEF(void) pjpidf_tuple_set_timestamp(pj_pool_t *pool, pjpidf_tuple *t,
{
pj_xml_node *node = pj_xml_find_node(t, &TIMESTAMP);
if (!node) {
- node = pj_pool_alloc(pool, sizeof(*node));
+ node = PJ_POOL_ALLOC_T(pool, pj_xml_node);
xml_init_node(pool, node, &TIMESTAMP, ts);
} else {
pj_strdup(pool, &node->content, ts);
@@ -300,7 +300,7 @@ PJ_DEF(void) pjpidf_tuple_set_timestamp_np(pj_pool_t *pool, pjpidf_tuple *t,
{
pj_xml_node *node = pj_xml_find_node(t, &TIMESTAMP);
if (!node) {
- node = pj_pool_alloc(pool, sizeof(*node));
+ node = PJ_POOL_ALLOC_T(pool, pj_xml_node);
xml_init_node(pool, node, &TIMESTAMP, ts);
} else {
node->content = *ts;
@@ -314,7 +314,7 @@ PJ_DEF(void) pjpidf_status_construct(pj_pool_t *pool, pjpidf_status *st)
pj_xml_node *node;
xml_init_node(pool, st, &STATUS, NULL);
- node = pj_pool_alloc(pool, sizeof(*node));
+ node = PJ_POOL_ALLOC_T(pool, pj_xml_node);
xml_init_node(pool, node, &BASIC, &CLOSED);
pj_xml_add_node(st, node);
}
@@ -335,7 +335,7 @@ PJ_DEF(void) pjpidf_status_set_basic_open(pjpidf_status *st, pj_bool_t open)
PJ_DEF(pjpidf_pres*) pjpidf_create(pj_pool_t *pool, const pj_str_t *entity)
{
- pjpidf_pres *pres = pj_pool_alloc(pool, sizeof(*pres));
+ pjpidf_pres *pres = PJ_POOL_ALLOC_T(pool, pjpidf_pres);
pjpidf_pres_construct(pool, pres, entity);
return pres;
}
diff --git a/pjsip/src/pjsip-simple/presence.c b/pjsip/src/pjsip-simple/presence.c
index d3411626..9f04c64a 100644
--- a/pjsip/src/pjsip-simple/presence.c
+++ b/pjsip/src/pjsip-simple/presence.c
@@ -197,7 +197,7 @@ PJ_DEF(pj_status_t) pjsip_pres_create_uac( pjsip_dialog *dlg,
goto on_return;
/* Create presence */
- pres = pj_pool_zalloc(dlg->pool, sizeof(pjsip_pres));
+ pres = PJ_POOL_ZALLOC_T(dlg->pool, pjsip_pres);
pres->dlg = dlg;
pres->sub = sub;
if (user_cb)
@@ -244,7 +244,8 @@ PJ_DEF(pj_status_t) pjsip_pres_create_uas( pjsip_dialog *dlg,
PJSIP_SIMPLE_ENOTSUBSCRIBE);
/* Check that Event header contains "presence" */
- event = pjsip_msg_find_hdr_by_name(rdata->msg_info.msg, &STR_EVENT, NULL);
+ event = (pjsip_event_hdr*)
+ pjsip_msg_find_hdr_by_name(rdata->msg_info.msg, &STR_EVENT, NULL);
if (!event) {
return PJSIP_ERRNO_FROM_SIP_STATUS(PJSIP_SC_BAD_REQUEST);
}
@@ -253,7 +254,8 @@ PJ_DEF(pj_status_t) pjsip_pres_create_uas( pjsip_dialog *dlg,
}
/* Check that request contains compatible Accept header. */
- accept = pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_ACCEPT, NULL);
+ accept = (pjsip_accept_hdr*)
+ pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_ACCEPT, NULL);
if (accept) {
unsigned i;
for (i=0; i<accept->count; ++i) {
@@ -280,7 +282,8 @@ PJ_DEF(pj_status_t) pjsip_pres_create_uas( pjsip_dialog *dlg,
}
/* Check that expires is not too short. */
- expires_hdr=pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_EXPIRES, NULL);
+ expires_hdr=(pjsip_expires_hdr*)
+ pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_EXPIRES, NULL);
if (expires_hdr) {
if (expires_hdr->ivalue < 5) {
return PJSIP_ERRNO_FROM_SIP_STATUS(PJSIP_SC_INTERVAL_TOO_BRIEF);
@@ -304,7 +307,7 @@ PJ_DEF(pj_status_t) pjsip_pres_create_uas( pjsip_dialog *dlg,
goto on_return;
/* Create server presence subscription */
- pres = pj_pool_zalloc(dlg->pool, sizeof(pjsip_pres));
+ pres = PJ_POOL_ZALLOC_T(dlg->pool, pjsip_pres);
pres->dlg = dlg;
pres->sub = sub;
pres->content_type = content_type;
@@ -366,7 +369,7 @@ PJ_DEF(pj_status_t) pjsip_pres_get_status( pjsip_evsub *sub,
PJ_ASSERT_RETURN(sub && status, PJ_EINVAL);
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_RETURN(pres!=NULL, PJSIP_SIMPLE_ENOPRESENCE);
if (pres->tmp_status._is_valid)
@@ -389,7 +392,7 @@ PJ_DEF(pj_status_t) pjsip_pres_set_status( pjsip_evsub *sub,
PJ_ASSERT_RETURN(sub && status, PJ_EINVAL);
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_RETURN(pres!=NULL, PJSIP_SIMPLE_ENOPRESENCE);
for (i=0; i<status->info_cnt; ++i) {
@@ -422,7 +425,7 @@ static pj_status_t pres_create_msg_body( pjsip_pres *pres,
pj_str_t entity;
/* Get publisher URI */
- entity.ptr = pj_pool_alloc(tdata->pool, PJSIP_MAX_URL_SIZE);
+ entity.ptr = (char*) pj_pool_alloc(tdata->pool, PJSIP_MAX_URL_SIZE);
entity.slen = pjsip_uri_print(PJSIP_URI_IN_REQ_URI,
pres->dlg->local.info->uri,
entity.ptr, PJSIP_MAX_URL_SIZE);
@@ -462,7 +465,7 @@ PJ_DEF(pj_status_t) pjsip_pres_notify( pjsip_evsub *sub,
PJ_ASSERT_RETURN(sub, PJ_EINVAL);
/* Get the presence object. */
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_RETURN(pres != NULL, PJSIP_SIMPLE_ENOPRESENCE);
/* Must have at least one presence info. */
@@ -508,7 +511,7 @@ PJ_DEF(pj_status_t) pjsip_pres_current_notify( pjsip_evsub *sub,
PJ_ASSERT_RETURN(sub, PJ_EINVAL);
/* Get the presence object. */
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_RETURN(pres != NULL, PJSIP_SIMPLE_ENOPRESENCE);
/* Must have at least one presence info. */
@@ -558,7 +561,7 @@ static void pres_on_evsub_state( pjsip_evsub *sub, pjsip_event *event)
{
pjsip_pres *pres;
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_ON_FAIL(pres!=NULL, {return;});
if (pres->user_cb.on_evsub_state)
@@ -573,7 +576,7 @@ static void pres_on_evsub_tsx_state( pjsip_evsub *sub, pjsip_transaction *tsx,
{
pjsip_pres *pres;
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_ON_FAIL(pres!=NULL, {return;});
if (pres->user_cb.on_tsx_state)
@@ -593,7 +596,7 @@ static void pres_on_evsub_rx_refresh( pjsip_evsub *sub,
{
pjsip_pres *pres;
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_ON_FAIL(pres!=NULL, {return;});
if (pres->user_cb.on_rx_refresh) {
@@ -721,7 +724,7 @@ static void pres_on_evsub_rx_notify( pjsip_evsub *sub,
pjsip_pres *pres;
pj_status_t status;
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_ON_FAIL(pres!=NULL, {return;});
if (rdata->msg_info.msg->body) {
@@ -773,7 +776,7 @@ static void pres_on_evsub_client_refresh(pjsip_evsub *sub)
{
pjsip_pres *pres;
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_ON_FAIL(pres!=NULL, {return;});
if (pres->user_cb.on_client_refresh) {
@@ -795,7 +798,7 @@ static void pres_on_evsub_server_timeout(pjsip_evsub *sub)
{
pjsip_pres *pres;
- pres = pjsip_evsub_get_mod_data(sub, mod_presence.id);
+ pres = (pjsip_pres*) pjsip_evsub_get_mod_data(sub, mod_presence.id);
PJ_ASSERT_ON_FAIL(pres!=NULL, {return;});
if (pres->user_cb.on_server_timeout) {
diff --git a/pjsip/src/pjsip-simple/presence_body.c b/pjsip/src/pjsip-simple/presence_body.c
index 04edf9c6..c57e427a 100644
--- a/pjsip/src/pjsip-simple/presence_body.c
+++ b/pjsip/src/pjsip-simple/presence_body.c
@@ -42,7 +42,8 @@ static const pj_str_t STR_XPIDF_XML = { "xpidf+xml", 9 };
static int pres_print_body(struct pjsip_msg_body *msg_body,
char *buf, pj_size_t size)
{
- return pj_xml_print(msg_body->data, buf, size, PJ_TRUE);
+ return pj_xml_print((const pj_xml_node*)msg_body->data, buf, size,
+ PJ_TRUE);
}
@@ -52,7 +53,7 @@ static int pres_print_body(struct pjsip_msg_body *msg_body,
static void* xml_clone_data(pj_pool_t *pool, const void *data, unsigned len)
{
PJ_UNUSED_ARG(len);
- return pj_xml_clone( pool, data);
+ return pj_xml_clone( pool, (const pj_xml_node*) data);
}
@@ -100,7 +101,7 @@ PJ_DEF(pj_status_t) pjsip_pres_create_pidf( pj_pool_t *pool,
status->info[i].basic_open);
}
- body = pj_pool_zalloc(pool, sizeof(pjsip_msg_body));
+ body = PJ_POOL_ZALLOC_T(pool, pjsip_msg_body);
body->data = pidf;
body->content_type.type = STR_APPLICATION;
body->content_type.subtype = STR_PIDF_XML;
@@ -139,7 +140,7 @@ PJ_DEF(pj_status_t) pjsip_pres_create_xpidf( pj_pool_t *pool,
else
pjxpidf_set_status( xpidf, PJ_FALSE);
- body = pj_pool_zalloc(pool, sizeof(pjsip_msg_body));
+ body = PJ_POOL_ZALLOC_T(pool, pjsip_msg_body);
body->data = xpidf;
body->content_type.type = STR_APPLICATION;
body->content_type.subtype = STR_XPIDF_XML;
@@ -164,7 +165,7 @@ PJ_DEF(pj_status_t) pjsip_pres_parse_pidf( pjsip_rx_data *rdata,
pjpidf_tuple *pidf_tuple;
pidf = pjpidf_parse(rdata->tp_info.pool,
- rdata->msg_info.msg->body->data,
+ (char*)rdata->msg_info.msg->body->data,
rdata->msg_info.msg->body->len);
if (pidf == NULL)
return PJSIP_SIMPLE_EBADPIDF;
@@ -209,7 +210,7 @@ PJ_DEF(pj_status_t) pjsip_pres_parse_xpidf(pjsip_rx_data *rdata,
pjxpidf_pres *xpidf;
xpidf = pjxpidf_parse(rdata->tp_info.pool,
- rdata->msg_info.msg->body->data,
+ (char*)rdata->msg_info.msg->body->data,
rdata->msg_info.msg->body->len);
if (xpidf == NULL)
return PJSIP_SIMPLE_EBADXPIDF;
diff --git a/pjsip/src/pjsip-simple/publishc.c b/pjsip/src/pjsip-simple/publishc.c
index 1b10c742..0cb15a76 100644
--- a/pjsip/src/pjsip-simple/publishc.c
+++ b/pjsip/src/pjsip-simple/publishc.c
@@ -50,7 +50,7 @@ enum
const pjsip_method pjsip_publish_method =
{
- PJSIP_PUBLISH_METHOD,
+ (pjsip_method_e)PJSIP_PUBLISH_METHOD,
{ "PUBLISH", 7 }
};
@@ -122,7 +122,7 @@ PJ_DEF(pj_status_t) pjsip_publishc_create( pjsip_endpoint *endpt,
pool = pjsip_endpt_create_pool(endpt, "pubc%p", 1024, 1024);
PJ_ASSERT_RETURN(pool != NULL, PJ_ENOMEM);
- pubc = pj_pool_zalloc(pool, sizeof(struct pjsip_publishc));
+ pubc = PJ_POOL_ZALLOC_T(pool, pjsip_publishc);
pubc->pool = pool;
pubc->endpt = endpt;
@@ -291,13 +291,15 @@ static pj_status_t create_request(pjsip_publishc *pubc,
pjsip_hdr *route_pos;
const pjsip_route_hdr *route;
- route_pos = pjsip_msg_find_hdr(tdata->msg, PJSIP_H_VIA, NULL);
+ route_pos = (pjsip_hdr*)
+ pjsip_msg_find_hdr(tdata->msg, PJSIP_H_VIA, NULL);
if (!route_pos)
route_pos = &tdata->msg->hdr;
route = pubc->route_set.next;
while (route != &pubc->route_set) {
- pjsip_hdr *new_hdr = pjsip_hdr_shallow_clone(tdata->pool, route);
+ pjsip_hdr *new_hdr = (pjsip_hdr*)
+ pjsip_hdr_shallow_clone(tdata->pool, route);
pj_list_insert_after(route_pos, new_hdr);
route_pos = new_hdr;
route = route->next;
@@ -345,7 +347,8 @@ PJ_DEF(pj_status_t) pjsip_publishc_publish(pjsip_publishc *pubc,
if (pubc->expires_hdr) {
pjsip_hdr *dup;
- dup = pjsip_hdr_shallow_clone(tdata->pool, pubc->expires_hdr);
+ dup = (pjsip_hdr*)
+ pjsip_hdr_shallow_clone(tdata->pool, pubc->expires_hdr);
if (dup)
pjsip_msg_add_hdr(tdata->msg, dup);
}
@@ -424,7 +427,7 @@ static void call_callback(pjsip_publishc *pubc, pj_status_t status,
static void pubc_refresh_timer_cb( pj_timer_heap_t *timer_heap,
struct pj_timer_entry *entry)
{
- pjsip_publishc *pubc = entry->user_data;
+ pjsip_publishc *pubc = (pjsip_publishc*) entry->user_data;
pjsip_tx_data *tdata;
pj_status_t status;
@@ -446,7 +449,7 @@ static void pubc_refresh_timer_cb( pj_timer_heap_t *timer_heap,
static void tsx_callback(void *token, pjsip_event *event)
{
pj_status_t status;
- pjsip_publishc *pubc = token;
+ pjsip_publishc *pubc = (pjsip_publishc*) token;
pjsip_transaction *tsx = event->body.tsx_state.tsx;
/* Decrement pending transaction counter. */
@@ -507,7 +510,8 @@ static void tsx_callback(void *token, pjsip_event *event)
}
/* Update expires value */
- expires = pjsip_msg_find_hdr(msg, PJSIP_H_EXPIRES, NULL);
+ expires = (pjsip_expires_hdr*)
+ pjsip_msg_find_hdr(msg, PJSIP_H_EXPIRES, NULL);
if (expires)
expiration = expires->ivalue;
@@ -574,7 +578,8 @@ PJ_DEF(pj_status_t) pjsip_publishc_send(pjsip_publishc *pubc,
/* Increment CSeq */
cseq = ++pubc->cseq_hdr->cseq;
- cseq_hdr = pjsip_msg_find_hdr(tdata->msg, PJSIP_H_CSEQ, NULL);
+ cseq_hdr = (pjsip_cseq_hdr*)
+ pjsip_msg_find_hdr(tdata->msg, PJSIP_H_CSEQ, NULL);
cseq_hdr->cseq = cseq;
/* Increment pending transaction first, since transaction callback
diff --git a/pjsip/src/pjsip-simple/xpidf.c b/pjsip/src/pjsip-simple/xpidf.c
index d0dcbf49..30698a09 100644
--- a/pjsip/src/pjsip-simple/xpidf.c
+++ b/pjsip/src/pjsip-simple/xpidf.c
@@ -40,7 +40,7 @@ static pj_xml_node* xml_create_node(pj_pool_t *pool,
{
pj_xml_node *node;
- node = pj_pool_alloc(pool, sizeof(pj_xml_node));
+ node = PJ_POOL_ALLOC_T(pool, pj_xml_node);
pj_list_init(&node->attr_head);
pj_list_init(&node->node_head);
node->name = *name;
@@ -53,7 +53,7 @@ static pj_xml_node* xml_create_node(pj_pool_t *pool,
static pj_xml_attr* xml_create_attr(pj_pool_t *pool, pj_str_t *name,
const pj_str_t *value)
{
- pj_xml_attr *attr = pj_pool_alloc(pool, sizeof(*attr));
+ pj_xml_attr *attr = PJ_POOL_ALLOC_T(pool, pj_xml_attr);
attr->name = *name;
pj_strdup(pool, &attr->value, value);
return attr;
@@ -79,7 +79,8 @@ PJ_DEF(pjxpidf_pres*) pjxpidf_create(pj_pool_t *pool, const pj_str_t *uri_cstr)
pj_xml_add_node(pres, presentity);
/* uri attribute */
- uri.ptr = pj_pool_alloc(pool, uri_cstr->slen + STR_SUBSCRIBE_PARAM.slen);
+ uri.ptr = (char*) pj_pool_alloc(pool, uri_cstr->slen +
+ STR_SUBSCRIBE_PARAM.slen);
pj_strcpy( &uri, uri_cstr);
pj_strcat( &uri, &STR_SUBSCRIBE_PARAM);
attr = xml_create_attr(pool, &STR_URI, &uri);
diff --git a/pjsip/src/pjsip/sip_tel_uri.c b/pjsip/src/pjsip/sip_tel_uri.c
index 094f08c8..f55eba79 100644
--- a/pjsip/src/pjsip/sip_tel_uri.c
+++ b/pjsip/src/pjsip/sip_tel_uri.c
@@ -75,25 +75,27 @@ static pjsip_tel_uri* tel_uri_clone(pj_pool_t *pool, const pjsip_tel_uri *rhs);
static void* tel_uri_parse( pj_scanner *scanner, pj_pool_t *pool,
pj_bool_t parse_params);
-#ifdef __GNUC__
-# define HAPPY_FLAG (void*)
-#else
-# define HAPPY_FLAG
-#endif
+typedef const pj_str_t* (*P_GET_SCHEME)(const void*);
+typedef void* (*P_GET_URI)(void*);
+typedef pj_ssize_t (*P_PRINT_URI)(pjsip_uri_context_e,const void *,
+ char*,unsigned);
+typedef int (*P_CMP_URI)(pjsip_uri_context_e, const void*,
+ const void*);
+typedef void* (*P_CLONE)(pj_pool_t*, const void*);
static pjsip_uri_vptr tel_uri_vptr =
{
- HAPPY_FLAG &tel_uri_get_scheme,
- HAPPY_FLAG &tel_uri_get_uri,
- HAPPY_FLAG &tel_uri_print,
- HAPPY_FLAG &tel_uri_cmp,
- HAPPY_FLAG &tel_uri_clone
+ (P_GET_SCHEME) &tel_uri_get_scheme,
+ (P_GET_URI) &tel_uri_get_uri,
+ (P_PRINT_URI) &tel_uri_print,
+ (P_CMP_URI) &tel_uri_cmp,
+ (P_CLONE) &tel_uri_clone
};
PJ_DEF(pjsip_tel_uri*) pjsip_tel_uri_create(pj_pool_t *pool)
{
- pjsip_tel_uri *uri = pj_pool_zalloc(pool, sizeof(pjsip_tel_uri));
+ pjsip_tel_uri *uri = PJ_POOL_ZALLOC_T(pool, pjsip_tel_uri);
uri->vptr = &tel_uri_vptr;
pj_list_init(&uri->other_param);
return uri;
@@ -426,7 +428,7 @@ static void* tel_uri_parse( pj_scanner *scanner, pj_pool_t *pool,
} else if (pj_stricmp_alnum(&pname, &pjsip_PH_CTX_STR)==0) {
uri->context = pvalue;
} else {
- pjsip_param *param = pj_pool_alloc(pool, sizeof(pjsip_param));
+ pjsip_param *param = PJ_POOL_ALLOC_T(pool, pjsip_param);
param->name = pname;
param->value = pvalue;
pj_list_insert_before(&uri->other_param, param);
diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c
index 9934e0dd..009f16a0 100644
--- a/pjsip/src/pjsip/sip_transaction.c
+++ b/pjsip/src/pjsip/sip_transaction.c
@@ -288,7 +288,7 @@ static pj_status_t create_tsx_key_2543( pj_pool_t *pool,
host->slen + /* Via host. */
9 + /* Via port. */
16; /* Separator+Allowance. */
- key = p = pj_pool_alloc(pool, len_required);
+ key = p = (char*) pj_pool_alloc(pool, len_required);
end = p + len_required;
/* Add role. */
@@ -355,7 +355,8 @@ static pj_status_t create_tsx_key_3261( pj_pool_t *pool,
PJ_ASSERT_RETURN(pool && key && method && branch, PJ_EINVAL);
- p = key->ptr = pj_pool_alloc(pool, branch->slen + method->name.slen + 4 );
+ p = key->ptr = (char*)
+ pj_pool_alloc(pool, branch->slen + method->name.slen + 4 );
/* Add role. */
*p++ = (char)(role==PJSIP_ROLE_UAC ? 'c' : 's');
@@ -593,7 +594,8 @@ PJ_DEF(pjsip_transaction*) pjsip_tsx_layer_find_tsx( const pj_str_t *key,
pj_uint32_t hval = 0;
pj_mutex_lock(mod_tsx_layer.mutex);
- tsx = pj_hash_get( mod_tsx_layer.htable, key->ptr, key->slen, &hval );
+ tsx = (pjsip_transaction*)
+ pj_hash_get( mod_tsx_layer.htable, key->ptr, key->slen, &hval );
pj_mutex_unlock(mod_tsx_layer.mutex);
TSX_TRACE_((THIS_FILE,
@@ -644,7 +646,8 @@ static pj_status_t mod_tsx_layer_stop(void)
/* Destroy all transactions. */
it = pj_hash_first(mod_tsx_layer.htable, &it_buf);
while (it) {
- pjsip_transaction *tsx = pj_hash_this(mod_tsx_layer.htable, it);
+ pjsip_transaction *tsx = (pjsip_transaction*)
+ pj_hash_this(mod_tsx_layer.htable, it);
pj_hash_iterator_t *next = pj_hash_next(mod_tsx_layer.htable, it);
if (tsx) {
mod_tsx_layer_unregister_tsx(tsx);
@@ -705,7 +708,8 @@ static pj_bool_t mod_tsx_layer_on_rx_request(pjsip_rx_data *rdata)
/* Find transaction. */
pj_mutex_lock( mod_tsx_layer.mutex );
- tsx = pj_hash_get( mod_tsx_layer.htable, key.ptr, key.slen, &hval );
+ tsx = (pjsip_transaction*)
+ pj_hash_get( mod_tsx_layer.htable, key.ptr, key.slen, &hval );
TSX_TRACE_((THIS_FILE,
@@ -753,7 +757,8 @@ static pj_bool_t mod_tsx_layer_on_rx_response(pjsip_rx_data *rdata)
/* Find transaction. */
pj_mutex_lock( mod_tsx_layer.mutex );
- tsx = pj_hash_get( mod_tsx_layer.htable, key.ptr, key.slen, &hval );
+ tsx = (pjsip_transaction*)
+ pj_hash_get( mod_tsx_layer.htable, key.ptr, key.slen, &hval );
TSX_TRACE_((THIS_FILE,
@@ -791,7 +796,8 @@ static pj_bool_t mod_tsx_layer_on_rx_response(pjsip_rx_data *rdata)
*/
PJ_DEF(pjsip_transaction*) pjsip_rdata_get_tsx( pjsip_rx_data *rdata )
{
- return rdata->endpt_info.mod_data[mod_tsx_layer.mod.id];
+ return (pjsip_transaction*)
+ rdata->endpt_info.mod_data[mod_tsx_layer.mod.id];
}
@@ -816,7 +822,8 @@ PJ_DEF(void) pjsip_tsx_layer_dump(pj_bool_t detail)
PJ_LOG(3, (THIS_FILE, " - none - "));
} else {
while (it != NULL) {
- pjsip_transaction *tsx = pj_hash_this(mod_tsx_layer.htable,it);
+ pjsip_transaction *tsx = (pjsip_transaction*)
+ pj_hash_this(mod_tsx_layer.htable,it);
PJ_LOG(3, (THIS_FILE, " %s %s|%d|%s",
tsx->obj_name,
@@ -894,7 +901,7 @@ static pj_status_t tsx_create( pjsip_module *tsx_user,
if (!pool)
return PJ_ENOMEM;
- tsx = pj_pool_zalloc(pool, sizeof(pjsip_transaction));
+ tsx = PJ_POOL_ZALLOC_T(pool, pjsip_transaction);
tsx->pool = pool;
tsx->tsx_user = tsx_user;
tsx->endpt = mod_tsx_layer.endpt;
@@ -965,7 +972,7 @@ static pj_status_t tsx_destroy( pjsip_transaction *tsx )
}
/* Clear TLS, so that mutex will not be unlocked */
- lck = pj_thread_local_get(pjsip_tsx_lock_tls_id);
+ lck = (struct tsx_lock_data*) pj_thread_local_get(pjsip_tsx_lock_tls_id);
while (lck) {
if (lck->tsx == tsx) {
lck->is_alive = 0;
@@ -989,7 +996,7 @@ static pj_status_t tsx_destroy( pjsip_transaction *tsx )
static void tsx_timer_callback( pj_timer_heap_t *theap, pj_timer_entry *entry)
{
pjsip_event event;
- pjsip_transaction *tsx = entry->user_data;
+ pjsip_transaction *tsx = (pjsip_transaction*) entry->user_data;
struct tsx_lock_data lck;
PJ_UNUSED_ARG(theap);
@@ -1042,7 +1049,7 @@ static void tsx_set_state( pjsip_transaction *tsx,
* rx event.
*/
if (event_src_type==PJSIP_EVENT_RX_MSG && tsx->tsx_user) {
- pjsip_rx_data *rdata = event_src;
+ pjsip_rx_data *rdata = (pjsip_rx_data*) event_src;
pj_assert(rdata != NULL);
@@ -1123,7 +1130,7 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user,
msg = tdata->msg;
/* Make sure CSeq header is present. */
- cseq = pjsip_msg_find_hdr(msg, PJSIP_H_CSEQ, NULL);
+ cseq = (pjsip_cseq_hdr*) pjsip_msg_find_hdr(msg, PJSIP_H_CSEQ, NULL);
if (!cseq) {
pj_assert(!"CSeq header not present in outgoing message!");
return PJSIP_EMISSINGHDR;
@@ -1149,7 +1156,7 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user,
tsx->cseq = cseq->cseq;
/* Generate Via header if it doesn't exist. */
- via = pjsip_msg_find_hdr(msg, PJSIP_H_VIA, NULL);
+ via = (pjsip_via_hdr*) pjsip_msg_find_hdr(msg, PJSIP_H_VIA, NULL);
if (via == NULL) {
via = pjsip_via_hdr_create(tdata->pool);
pjsip_msg_insert_first_hdr(msg, (pjsip_hdr*) via);
@@ -1158,7 +1165,8 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user,
/* Generate branch parameter if it doesn't exist. */
if (via->branch_param.slen == 0) {
pj_str_t tmp;
- via->branch_param.ptr = pj_pool_alloc(tsx->pool, PJSIP_MAX_BRANCH_LEN);
+ via->branch_param.ptr = (char*)
+ pj_pool_alloc(tsx->pool, PJSIP_MAX_BRANCH_LEN);
via->branch_param.slen = PJSIP_MAX_BRANCH_LEN;
pj_memcpy(via->branch_param.ptr, PJSIP_RFC3261_BRANCH_ID,
PJSIP_RFC3261_BRANCH_LEN);
@@ -1509,7 +1517,7 @@ PJ_DEF(void) pjsip_tsx_recv_msg( pjsip_transaction *tsx,
static void send_msg_callback( pjsip_send_state *send_state,
pj_ssize_t sent, pj_bool_t *cont )
{
- pjsip_transaction *tsx = send_state->token;
+ pjsip_transaction *tsx = (pjsip_transaction*) send_state->token;
struct tsx_lock_data lck;
lock_tsx(tsx, &lck);
@@ -1629,7 +1637,7 @@ static void transport_callback(void *token, pjsip_tx_data *tdata,
pj_ssize_t sent)
{
if (sent < 0) {
- pjsip_transaction *tsx = token;
+ pjsip_transaction *tsx = (pjsip_transaction*) token;
struct tsx_lock_data lck;
char errmsg[PJ_ERR_MSG_SIZE];
pj_str_t err;
@@ -2273,7 +2281,8 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx,
* timer G will be scheduled (retransmission).
*/
if (!tsx->is_reliable) {
- pjsip_cseq_hdr *cseq = pjsip_msg_find_hdr( msg, PJSIP_H_CSEQ,
+ pjsip_cseq_hdr *cseq = (pjsip_cseq_hdr*)
+ pjsip_msg_find_hdr( msg, PJSIP_H_CSEQ,
NULL);
if (cseq->method.id == PJSIP_INVITE_METHOD) {
tsx->retransmit_count = 0;
diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c
index 62382169..ee42699b 100644
--- a/pjsip/src/pjsip/sip_transport.c
+++ b/pjsip/src/pjsip/sip_transport.c
@@ -314,7 +314,7 @@ PJ_DEF(pj_status_t) pjsip_tx_data_create( pjsip_tpmgr *mgr,
if (!pool)
return PJ_ENOMEM;
- tdata = pj_pool_zalloc(pool, sizeof(pjsip_tx_data));
+ tdata = PJ_POOL_ZALLOC_T(pool, pjsip_tx_data);
tdata->pool = pool;
tdata->mgr = mgr;
pj_ansi_snprintf(tdata->obj_name, PJ_MAX_OBJ_NAME, "tdta%p", tdata);
@@ -396,7 +396,7 @@ static char *get_msg_info(pj_pool_t *pool, const char *obj_name,
const pjsip_cseq_hdr *cseq;
int len;
- cseq = pjsip_msg_find_hdr(msg, PJSIP_H_CSEQ, NULL);
+ cseq = (const pjsip_cseq_hdr*) pjsip_msg_find_hdr(msg, PJSIP_H_CSEQ, NULL);
PJ_ASSERT_RETURN(cseq != NULL, "INVALID MSG");
if (msg->type == PJSIP_REQUEST_MSG) {
@@ -418,7 +418,7 @@ static char *get_msg_info(pj_pool_t *pool, const char *obj_name,
return (char*)obj_name;
}
- info = pj_pool_alloc(pool, len+1);
+ info = (char*) pj_pool_alloc(pool, len+1);
pj_memcpy(info, info_buf, len+1);
return info;
@@ -492,7 +492,7 @@ static void transport_send_callback(pjsip_transport *transport,
void *token,
pj_ssize_t size)
{
- pjsip_tx_data *tdata = token;
+ pjsip_tx_data *tdata = (pjsip_tx_data*) token;
PJ_UNUSED_ARG(transport);
@@ -517,7 +517,8 @@ static pj_status_t mod_on_tx_msg(pjsip_tx_data *tdata)
{
/* Allocate buffer if necessary. */
if (tdata->buf.start == NULL) {
- tdata->buf.start = pj_pool_alloc( tdata->pool, PJSIP_MAX_PKT_LEN);
+ tdata->buf.start = (char*)
+ pj_pool_alloc( tdata->pool, PJSIP_MAX_PKT_LEN);
tdata->buf.cur = tdata->buf.start;
tdata->buf.end = tdata->buf.start + PJSIP_MAX_PKT_LEN;
}
@@ -612,7 +613,7 @@ PJ_DEF(pj_status_t) pjsip_transport_send( pjsip_transport *tr,
static void transport_idle_callback(pj_timer_heap_t *timer_heap,
struct pj_timer_entry *entry)
{
- pjsip_transport *tp = entry->user_data;
+ pjsip_transport *tp = (pjsip_transport*) entry->user_data;
pj_assert(tp != NULL);
PJ_UNUSED_ARG(timer_heap);
@@ -900,7 +901,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_create( pj_pool_t *pool,
return status;
/* Create and initialize transport manager. */
- mgr = pj_pool_zalloc(pool, sizeof(*mgr));
+ mgr = PJ_POOL_ZALLOC_T(pool, pjsip_tpmgr);
mgr->endpt = endpt;
mgr->on_rx_msg = rx_cb;
mgr->on_tx_msg = tx_cb;
@@ -1035,7 +1036,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_destroy( pjsip_tpmgr *mgr )
pj_hash_iterator_t *next;
pjsip_transport *transport;
- transport = pj_hash_this(mgr->table, itr);
+ transport = (pjsip_transport*) pj_hash_this(mgr->table, itr);
next = pj_hash_next(mgr->table, itr);
@@ -1343,7 +1344,8 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport(pjsip_tpmgr *mgr,
key.type = type;
pj_memcpy(&key.addr, remote, addr_len);
- transport = pj_hash_get(mgr->table, &key, key_len, NULL);
+ transport = (pjsip_transport*)
+ pj_hash_get(mgr->table, &key, key_len, NULL);
if (transport == NULL) {
unsigned flag = pjsip_transport_get_flag_from_type(type);
const pj_sockaddr *remote_addr = (const pj_sockaddr*)remote;
@@ -1356,7 +1358,8 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport(pjsip_tpmgr *mgr,
pj_bzero(addr, sizeof(pj_sockaddr_in));
key_len = sizeof(key.type) + sizeof(pj_sockaddr_in);
- transport = pj_hash_get(mgr->table, &key, key_len, NULL);
+ transport = (pjsip_transport*)
+ pj_hash_get(mgr->table, &key, key_len, NULL);
}
/* For datagram INET transports, try lookup with zero address.
*/
@@ -1369,7 +1372,8 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport(pjsip_tpmgr *mgr,
addr->sin_family = PJ_AF_INET;
key_len = sizeof(key.type) + sizeof(pj_sockaddr_in);
- transport = pj_hash_get(mgr->table, &key, key_len, NULL);
+ transport = (pjsip_transport*)
+ pj_hash_get(mgr->table, &key, key_len, NULL);
}
}
@@ -1410,7 +1414,8 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport(pjsip_tpmgr *mgr,
/* Request factory to create transport. */
status = factory->create_transport(factory, mgr, mgr->endpt,
- remote, addr_len, tp);
+ (const pj_sockaddr*) remote, addr_len,
+ tp);
if (status == PJ_SUCCESS) {
PJ_ASSERT_ON_FAIL(tp!=NULL,
{pj_lock_release(mgr->lock); return PJ_EBUG;});
@@ -1454,7 +1459,8 @@ PJ_DEF(void) pjsip_tpmgr_dump_transports(pjsip_tpmgr *mgr)
PJ_LOG(3, (THIS_FILE, " Dumping transports:"));
do {
- pjsip_transport *t = pj_hash_this(mgr->table, itr);
+ pjsip_transport *t = (pjsip_transport*)
+ pj_hash_this(mgr->table, itr);
PJ_LOG(3, (THIS_FILE, " %s %s (refcnt=%d%s)",
t->obj_name,
diff --git a/pjsip/src/pjsip/sip_transport_loop.c b/pjsip/src/pjsip/sip_transport_loop.c
index 1b10ea32..25121978 100644
--- a/pjsip/src/pjsip/sip_transport_loop.c
+++ b/pjsip/src/pjsip/sip_transport_loop.c
@@ -78,7 +78,7 @@ struct recv_list *create_incoming_packet( struct loop_transport *loop,
if (!pool)
return NULL;
- pkt = pj_pool_zalloc(pool, sizeof(struct recv_list));
+ pkt = PJ_POOL_ZALLOC_T(pool, struct recv_list);
/* Initialize rdata. */
pkt->rdata.tp_info.pool = pool;
@@ -120,7 +120,7 @@ static pj_status_t add_notification( struct loop_transport *loop,
pjsip_tx_data_add_ref(tdata);
pj_lock_acquire(tdata->lock);
- sent_status = pj_pool_alloc(tdata->pool, sizeof(struct send_list));
+ sent_status = PJ_POOL_ALLOC_T(tdata->pool, struct send_list);
pj_lock_release(tdata->lock);
sent_status->sent = sent;
@@ -253,7 +253,7 @@ static pj_status_t loop_destroy(pjsip_transport *tp)
/* Worker thread for loop transport. */
static int loop_transport_worker_thread(void *arg)
{
- struct loop_transport *loop = arg;
+ struct loop_transport *loop = (struct loop_transport*) arg;
struct recv_list r;
struct send_list s;
@@ -356,7 +356,7 @@ PJ_DEF(pj_status_t) pjsip_loop_start( pjsip_endpoint *endpt,
return PJ_ENOMEM;
/* Create the loop structure. */
- loop = pj_pool_zalloc(pool, sizeof(struct loop_transport));
+ loop = PJ_POOL_ZALLOC_T(pool, struct loop_transport);
/* Initialize transport properties. */
pj_ansi_snprintf(loop->base.obj_name, sizeof(loop->base.obj_name),
diff --git a/pjsip/src/pjsip/sip_transport_tcp.c b/pjsip/src/pjsip/sip_transport_tcp.c
index 6033a8d3..70008a78 100644
--- a/pjsip/src/pjsip/sip_transport_tcp.c
+++ b/pjsip/src/pjsip/sip_transport_tcp.c
@@ -170,7 +170,7 @@ static void sockaddr_to_host_port( pj_pool_t *pool,
const pj_sockaddr_in *addr )
{
enum { M = 48 };
- host_port->host.ptr = pj_pool_alloc(pool, M);
+ host_port->host.ptr = (char*) pj_pool_alloc(pool, M);
host_port->host.slen = pj_ansi_snprintf( host_port->host.ptr, M, "%s",
pj_inet_ntoa(addr->sin_addr));
host_port->port = pj_ntohs(addr->sin_port);
@@ -222,7 +222,7 @@ PJ_DEF(pj_status_t) pjsip_tcp_transport_start2(pjsip_endpoint *endpt,
PJ_ASSERT_RETURN(pool, PJ_ENOMEM);
- listener = pj_pool_zalloc(pool, sizeof(struct tcp_listener));
+ listener = PJ_POOL_ZALLOC_T(pool, struct tcp_listener);
listener->factory.pool = pool;
listener->factory.type = PJSIP_TRANSPORT_TCP;
listener->factory.type_name = "tcp";
@@ -345,8 +345,8 @@ PJ_DEF(pj_status_t) pjsip_tcp_transport_start2(pjsip_endpoint *endpt,
goto on_error;
}
- listener->accept_op[i] = pj_pool_zalloc(pool,
- sizeof(struct pending_accept));
+ listener->accept_op[i] = PJ_POOL_ZALLOC_T(pool,
+ struct pending_accept);
pj_ioqueue_op_key_init(&listener->accept_op[i]->op_key,
sizeof(listener->accept_op[i]->op_key));
listener->accept_op[i]->pool = pool;
@@ -507,7 +507,7 @@ static pj_status_t tcp_create( struct tcp_listener *listener,
/*
* Create and initialize basic transport structure.
*/
- tcp = pj_pool_zalloc(pool, sizeof(*tcp));
+ tcp = PJ_POOL_ZALLOC_T(pool, struct tcp_transport);
tcp->sock = sock;
tcp->is_server = is_server;
tcp->listener = listener;
@@ -532,7 +532,7 @@ static pj_status_t tcp_create( struct tcp_listener *listener,
tcp->base.type_name = "tcp";
tcp->base.flag = pjsip_transport_get_flag_from_type(PJSIP_TRANSPORT_TCP);
- tcp->base.info = pj_pool_alloc(pool, 64);
+ tcp->base.info = (char*) pj_pool_alloc(pool, 64);
pj_ansi_snprintf(tcp->base.info, 64, "TCP to %s:%d",
pj_inet_ntoa(remote->sin_addr),
(int)pj_ntohs(remote->sin_port));
@@ -889,7 +889,7 @@ static void on_accept_complete( pj_ioqueue_key_t *key,
struct pending_accept *accept_op;
int err_cnt = 0;
- listener = pj_ioqueue_get_user_data(key);
+ listener = (struct tcp_listener*) pj_ioqueue_get_user_data(key);
accept_op = (struct pending_accept*) op_key;
/*
@@ -948,7 +948,7 @@ static void on_accept_complete( pj_ioqueue_key_t *key,
/* Create new accept_opt */
pool = pjsip_endpt_create_pool(listener->endpt, "tcps%p",
POOL_TP_INIT, POOL_TP_INC);
- new_op = pj_pool_zalloc(pool, sizeof(struct pending_accept));
+ new_op = PJ_POOL_ZALLOC_T(pool, struct pending_accept);
new_op->pool = pool;
new_op->listener = listener;
new_op->index = accept_op->index;
@@ -1002,7 +1002,8 @@ static void on_write_complete(pj_ioqueue_key_t *key,
pj_ioqueue_op_key_t *op_key,
pj_ssize_t bytes_sent)
{
- struct tcp_transport *tcp = pj_ioqueue_get_user_data(key);
+ struct tcp_transport *tcp = (struct tcp_transport*)
+ pj_ioqueue_get_user_data(key);
pjsip_tx_data_op_key *tdata_op_key = (pjsip_tx_data_op_key*)op_key;
tdata_op_key->tdata = NULL;
@@ -1081,8 +1082,8 @@ static pj_status_t tcp_send_msg(pjsip_transport *transport,
* connect() is still in progress. Put the transmit data to
* the delayed list.
*/
- delayed_tdata = pj_pool_alloc(tdata->pool,
- sizeof(*delayed_tdata));
+ delayed_tdata = PJ_POOL_ALLOC_T(tdata->pool,
+ struct delayed_tdata);
delayed_tdata->tdata_op_key = &tdata->op_key;
pj_list_push_back(&tcp->delayed_list, delayed_tdata);
@@ -1292,7 +1293,7 @@ static void on_connect_complete(pj_ioqueue_key_t *key,
pj_sockaddr_in addr;
int addrlen;
- tcp = pj_ioqueue_get_user_data(key);
+ tcp = (struct tcp_transport*) pj_ioqueue_get_user_data(key);
/* Mark that pending connect() operation has completed. */
tcp->has_pending_connect = PJ_FALSE;
diff --git a/pjsip/src/pjsip/sip_transport_udp.c b/pjsip/src/pjsip/sip_transport_udp.c
index 48d2b2d5..661d49fc 100644
--- a/pjsip/src/pjsip/sip_transport_udp.c
+++ b/pjsip/src/pjsip/sip_transport_udp.c
@@ -82,7 +82,7 @@ static void init_rdata(struct udp_transport *tp, unsigned rdata_index,
//note: already done by caller
//pj_pool_reset(pool);
- rdata = pj_pool_zalloc(pool, sizeof(pjsip_rx_data));
+ rdata = PJ_POOL_ZALLOC_T(pool, pjsip_rx_data);
/* Init tp_info part. */
rdata->tp_info.pool = pool;
@@ -261,7 +261,8 @@ static void udp_on_write_complete( pj_ioqueue_key_t *key,
pj_ioqueue_op_key_t *op_key,
pj_ssize_t bytes_sent)
{
- struct udp_transport *tp = pj_ioqueue_get_user_data(key);
+ struct udp_transport *tp = (struct udp_transport*)
+ pj_ioqueue_get_user_data(key);
pjsip_tx_data_op_key *tdata_op_key = (pjsip_tx_data_op_key*)op_key;
tdata_op_key->tdata = NULL;
@@ -446,7 +447,7 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_attach( pjsip_endpoint *endpt,
return PJ_ENOMEM;
/* Create the UDP transport object. */
- tp = pj_pool_zalloc(pool, sizeof(struct udp_transport));
+ tp = PJ_POOL_ZALLOC_T(pool, struct udp_transport);
/* Save pool. */
tp->base.pool = pool;
@@ -496,7 +497,7 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_attach( pjsip_endpoint *endpt,
tp->base.remote_name.port = 0;
/* Transport info. */
- tp->base.info = pj_pool_alloc(pool, M);
+ tp->base.info = (char*) pj_pool_alloc(pool, M);
pj_ansi_snprintf(
tp->base.info, M, "udp %s:%d [published as %s:%d]",
pj_inet_ntoa(((pj_sockaddr_in*)&tp->base.local_addr)->sin_addr),
@@ -542,7 +543,8 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_attach( pjsip_endpoint *endpt,
/* Create rdata and put it in the array. */
tp->rdata_cnt = 0;
- tp->rdata = pj_pool_calloc(tp->base.pool, async_cnt,
+ tp->rdata = (pjsip_rx_data**)
+ pj_pool_calloc(tp->base.pool, async_cnt,
sizeof(pjsip_rx_data*));
for (i=0; i<async_cnt; ++i) {
pj_pool_t *rdata_pool = pjsip_endpt_create_pool(endpt, "rtd%p",
diff --git a/pjsip/src/pjsip/sip_ua_layer.c b/pjsip/src/pjsip/sip_ua_layer.c
index 56000035..be89e2b6 100644
--- a/pjsip/src/pjsip/sip_ua_layer.c
+++ b/pjsip/src/pjsip/sip_ua_layer.c
@@ -165,7 +165,7 @@ static void mod_ua_on_tsx_state( pjsip_transaction *tsx, pjsip_event *e)
pjsip_dialog *dlg;
/* Get the dialog where this transaction belongs. */
- dlg = tsx->mod_data[mod_ua.mod.id];
+ dlg = (pjsip_dialog*) tsx->mod_data[mod_ua.mod.id];
/* If dialog instance has gone, it could mean that the dialog
* may has been destroyed.
@@ -244,7 +244,7 @@ PJ_DEF(void) pjsip_ua_create_dlg_set_key( pj_pool_t *pool,
PJ_ASSERT_ON_FAIL(pool && set_key && call_id && local_tag, return;);
set_key->slen = call_id->slen + local_tag->slen + 1;
- set_key->ptr = pj_pool_alloc(pool, set_key->slen);
+ set_key->ptr = (char*) pj_pool_alloc(pool, set_key->slen);
pj_assert(set_key->ptr != NULL);
pj_memcpy(set_key->ptr, call_id->ptr, call_id->slen);
@@ -267,7 +267,7 @@ static struct dlg_set *alloc_dlgset_node(void)
pj_list_erase(set);
return set;
} else {
- set = pj_pool_alloc(mod_ua.pool, sizeof(struct dlg_set));
+ set = PJ_POOL_ALLOC_T(mod_ua.pool, struct dlg_set);
return set;
}
}
@@ -298,7 +298,8 @@ PJ_DEF(pj_status_t) pjsip_ua_register_dlg( pjsip_user_agent *ua,
if (dlg->role == PJSIP_ROLE_UAC) {
struct dlg_set *dlg_set;
- dlg_set = pj_hash_get( mod_ua.dlg_table, dlg->local.info->tag.ptr,
+ dlg_set = (struct dlg_set*)
+ pj_hash_get( mod_ua.dlg_table, dlg->local.info->tag.ptr,
dlg->local.info->tag.slen,
&dlg->local.tag_hval);
@@ -366,7 +367,7 @@ PJ_DEF(pj_status_t) pjsip_ua_unregister_dlg( pjsip_user_agent *ua,
pj_mutex_lock(mod_ua.mutex);
/* Find this dialog from the dialog set. */
- dlg_set = dlg->dlg_set;
+ dlg_set = (struct dlg_set*) dlg->dlg_set;
d = dlg_set->dlg_list.next;
while (d != (pjsip_dialog*)&dlg_set->dlg_list && d != dlg) {
d = d->next;
@@ -400,12 +401,12 @@ PJ_DEF(pj_status_t) pjsip_ua_unregister_dlg( pjsip_user_agent *ua,
PJ_DEF(pjsip_dialog*) pjsip_rdata_get_dlg( pjsip_rx_data *rdata )
{
- return rdata->endpt_info.mod_data[mod_ua.mod.id];
+ return (pjsip_dialog*) rdata->endpt_info.mod_data[mod_ua.mod.id];
}
PJ_DEF(pjsip_dialog*) pjsip_tsx_get_dlg( pjsip_transaction *tsx )
{
- return tsx->mod_data[mod_ua.mod.id];
+ return (pjsip_dialog*) tsx->mod_data[mod_ua.mod.id];
}
@@ -426,7 +427,8 @@ PJ_DEF(pjsip_dialog*) pjsip_ua_find_dialog(const pj_str_t *call_id,
pj_mutex_lock(mod_ua.mutex);
/* Lookup the dialog set. */
- dlg_set = pj_hash_get(mod_ua.dlg_table, local_tag->ptr, local_tag->slen,
+ dlg_set = (struct dlg_set*)
+ pj_hash_get(mod_ua.dlg_table, local_tag->ptr, local_tag->slen,
NULL);
if (dlg_set == NULL) {
/* Not found */
@@ -516,13 +518,13 @@ static struct dlg_set *find_dlg_set_for_msg( pjsip_rx_data *rdata )
/* We should find the dialog attached to the INVITE transaction */
if (tsx) {
- dlg = tsx->mod_data[mod_ua.mod.id];
+ dlg = (pjsip_dialog*) tsx->mod_data[mod_ua.mod.id];
pj_mutex_unlock(tsx->mutex);
/* Dlg may be NULL on some extreme condition
* (e.g. during debugging where initially there is a dialog)
*/
- return dlg ? dlg->dlg_set : NULL;
+ return dlg ? (struct dlg_set*) dlg->dlg_set : NULL;
} else {
return NULL;
@@ -539,7 +541,8 @@ static struct dlg_set *find_dlg_set_for_msg( pjsip_rx_data *rdata )
tag = &rdata->msg_info.from->tag;
/* Lookup the dialog set. */
- dlg_set = pj_hash_get(mod_ua.dlg_table, tag->ptr, tag->slen, NULL);
+ dlg_set = (struct dlg_set*)
+ pj_hash_get(mod_ua.dlg_table, tag->ptr, tag->slen, NULL);
return dlg_set;
}
}
@@ -704,7 +707,7 @@ retry_on_deadlock:
}
/* Get the dialog set. */
- dlg_set = dlg->dlg_set;
+ dlg_set = (struct dlg_set*) dlg->dlg_set;
/* Even if transaction is found and (candidate) dialog has been
* identified, it's possible that the request has forked.
@@ -732,7 +735,8 @@ retry_on_deadlock:
/* Get the dialog set. */
- dlg_set = pj_hash_get(mod_ua.dlg_table,
+ dlg_set = (struct dlg_set*)
+ pj_hash_get(mod_ua.dlg_table,
rdata->msg_info.from->tag.ptr,
rdata->msg_info.from->tag.slen,
NULL);
@@ -917,7 +921,7 @@ PJ_DEF(void) pjsip_ua_dump(pj_bool_t detail)
pjsip_dialog *dlg;
const char *title;
- dlg_set = pj_hash_this(mod_ua.dlg_table, it);
+ dlg_set = (struct dlg_set*) pj_hash_this(mod_ua.dlg_table, it);
if (!dlg_set || pj_list_empty(&dlg_set->dlg_list)) continue;
/* First dialog in dialog set. */
diff --git a/pjsip/src/pjsip/sip_uri.c b/pjsip/src/pjsip/sip_uri.c
index ed13d2f5..c224090c 100644
--- a/pjsip/src/pjsip/sip_uri.c
+++ b/pjsip/src/pjsip/sip_uri.c
@@ -60,7 +60,7 @@ PJ_DEF(void) pjsip_param_clone( pj_pool_t *pool, pjsip_param *dst_list,
pj_list_init(dst_list);
while (p != src_list) {
- pjsip_param *new_param = pj_pool_alloc(pool, sizeof(pjsip_param));
+ pjsip_param *new_param = PJ_POOL_ALLOC_T(pool, pjsip_param);
pj_strdup(pool, &new_param->name, &p->name);
pj_strdup(pool, &new_param->value, &p->value);
pj_list_insert_before(dst_list, new_param);
@@ -77,7 +77,7 @@ PJ_DEF(void) pjsip_param_shallow_clone( pj_pool_t *pool,
pj_list_init(dst_list);
while (p != src_list) {
- pjsip_param *new_param = pj_pool_alloc(pool, sizeof(pjsip_param));
+ pjsip_param *new_param = PJ_POOL_ALLOC_T(pool, pjsip_param);
new_param->name = p->name;
new_param->value = p->value;
pj_list_insert_before(dst_list, new_param);
@@ -137,12 +137,6 @@ static void *pjsip_name_addr_get_uri( pjsip_name_addr *name );
static pj_str_t sip_str = { "sip", 3 };
static pj_str_t sips_str = { "sips", 4 };
-#ifdef __GNUC__
-# define HAPPY_FLAG (void*)
-#else
-# define HAPPY_FLAG
-#endif
-
static pjsip_name_addr* pjsip_name_addr_clone( pj_pool_t *pool,
const pjsip_name_addr *rhs);
static pj_ssize_t pjsip_name_addr_print(pjsip_uri_context_e context,
@@ -160,31 +154,40 @@ static int pjsip_url_compare( pjsip_uri_context_e context,
static pjsip_sip_uri* pjsip_url_clone(pj_pool_t *pool,
const pjsip_sip_uri *rhs);
+typedef const pj_str_t* (*P_GET_SCHEME)(const void*);
+typedef void* (*P_GET_URI)(void*);
+typedef pj_ssize_t (*P_PRINT_URI)(pjsip_uri_context_e,const void *,
+ char*,unsigned);
+typedef int (*P_CMP_URI)(pjsip_uri_context_e, const void*,
+ const void*);
+typedef void* (*P_CLONE)(pj_pool_t*, const void*);
+
+
static pjsip_uri_vptr sip_url_vptr =
{
- HAPPY_FLAG &pjsip_url_get_scheme,
- HAPPY_FLAG &pjsip_get_uri,
- HAPPY_FLAG &pjsip_url_print,
- HAPPY_FLAG &pjsip_url_compare,
- HAPPY_FLAG &pjsip_url_clone
+ (P_GET_SCHEME) &pjsip_url_get_scheme,
+ (P_GET_URI) &pjsip_get_uri,
+ (P_PRINT_URI) &pjsip_url_print,
+ (P_CMP_URI) &pjsip_url_compare,
+ (P_CLONE) &pjsip_url_clone
};
static pjsip_uri_vptr sips_url_vptr =
{
- HAPPY_FLAG &pjsips_url_get_scheme,
- HAPPY_FLAG &pjsip_get_uri,
- HAPPY_FLAG &pjsip_url_print,
- HAPPY_FLAG &pjsip_url_compare,
- HAPPY_FLAG &pjsip_url_clone
+ (P_GET_SCHEME) &pjsips_url_get_scheme,
+ (P_GET_URI) &pjsip_get_uri,
+ (P_PRINT_URI) &pjsip_url_print,
+ (P_CMP_URI) &pjsip_url_compare,
+ (P_CLONE) &pjsip_url_clone
};
static pjsip_uri_vptr name_addr_vptr =
{
- HAPPY_FLAG &pjsip_name_addr_get_scheme,
- HAPPY_FLAG &pjsip_name_addr_get_uri,
- HAPPY_FLAG &pjsip_name_addr_print,
- HAPPY_FLAG &pjsip_name_addr_compare,
- HAPPY_FLAG &pjsip_name_addr_clone
+ (P_GET_SCHEME) &pjsip_name_addr_get_scheme,
+ (P_GET_URI) &pjsip_name_addr_get_uri,
+ (P_PRINT_URI) &pjsip_name_addr_print,
+ (P_CMP_URI) &pjsip_name_addr_compare,
+ (P_CLONE) &pjsip_name_addr_clone
};
static const pj_str_t *pjsip_url_get_scheme(const pjsip_sip_uri *url)
@@ -227,7 +230,7 @@ PJ_DEF(void) pjsip_sip_uri_init(pjsip_sip_uri *url, pj_bool_t secure)
PJ_DEF(pjsip_sip_uri*) pjsip_sip_uri_create( pj_pool_t *pool,
pj_bool_t secure )
{
- pjsip_sip_uri *url = pj_pool_alloc(pool, sizeof(pjsip_sip_uri));
+ pjsip_sip_uri *url = PJ_POOL_ALLOC_T(pool, pjsip_sip_uri);
pjsip_sip_uri_init(url, secure);
return url;
}
@@ -496,7 +499,7 @@ PJ_DEF(void) pjsip_sip_uri_assign(pj_pool_t *pool, pjsip_sip_uri *url,
static pjsip_sip_uri* pjsip_url_clone(pj_pool_t *pool, const pjsip_sip_uri *rhs)
{
- pjsip_sip_uri *url = pj_pool_alloc(pool, sizeof(pjsip_sip_uri));
+ pjsip_sip_uri *url = PJ_POOL_ALLOC_T(pool, pjsip_sip_uri);
if (!url)
return NULL;
@@ -520,7 +523,7 @@ PJ_DEF(void) pjsip_name_addr_init(pjsip_name_addr *name)
PJ_DEF(pjsip_name_addr*) pjsip_name_addr_create(pj_pool_t *pool)
{
- pjsip_name_addr *name_addr = pj_pool_alloc(pool, sizeof(pjsip_name_addr));
+ pjsip_name_addr *name_addr = PJ_POOL_ALLOC_T(pool, pjsip_name_addr);
pjsip_name_addr_init(name_addr);
return name_addr;
}
@@ -534,7 +537,7 @@ static pj_ssize_t pjsip_name_addr_print(pjsip_uri_context_e context,
char *endbuf = buf + size;
pjsip_uri *uri;
- uri = pjsip_uri_get_uri(name->uri);
+ uri = (pjsip_uri*) pjsip_uri_get_uri(name->uri);
pj_assert(uri != NULL);
if (context != PJSIP_URI_IN_REQ_URI) {
@@ -565,13 +568,13 @@ PJ_DEF(void) pjsip_name_addr_assign(pj_pool_t *pool, pjsip_name_addr *dst,
const pjsip_name_addr *src)
{
pj_strdup( pool, &dst->display, &src->display);
- dst->uri = pjsip_uri_clone(pool, src->uri);
+ dst->uri = (pjsip_uri*) pjsip_uri_clone(pool, src->uri);
}
static pjsip_name_addr* pjsip_name_addr_clone( pj_pool_t *pool,
const pjsip_name_addr *rhs)
{
- pjsip_name_addr *addr = pj_pool_alloc(pool, sizeof(pjsip_name_addr));
+ pjsip_name_addr *addr = PJ_POOL_ALLOC_T(pool, pjsip_name_addr);
if (!addr)
return NULL;
diff --git a/pjsip/src/pjsip/sip_util.c b/pjsip/src/pjsip/sip_util.c
index 3f1add48..f0292be0 100644
--- a/pjsip/src/pjsip/sip_util.c
+++ b/pjsip/src/pjsip/sip_util.c
@@ -84,7 +84,8 @@ static void init_request_throw( pjsip_endpoint *endpt,
/* Add additional request headers from endpoint. */
endpt_hdr = pjsip_endpt_get_request_headers(endpt)->next;
while (endpt_hdr != pjsip_endpt_get_request_headers(endpt)) {
- pjsip_hdr *hdr = pjsip_hdr_shallow_clone(tdata->pool, endpt_hdr);
+ pjsip_hdr *hdr = (pjsip_hdr*)
+ pjsip_hdr_shallow_clone(tdata->pool, endpt_hdr);
pjsip_msg_add_hdr( tdata->msg, hdr );
endpt_hdr = endpt_hdr->next;
}
@@ -92,26 +93,26 @@ static void init_request_throw( pjsip_endpoint *endpt,
/* Add From header. */
if (param_from->tag.slen == 0)
pj_create_unique_string(tdata->pool, &param_from->tag);
- pjsip_msg_add_hdr(msg, (void*)param_from);
+ pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_from);
/* Add To header. */
- pjsip_msg_add_hdr(msg, (void*)param_to);
+ pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_to);
/* Add Contact header. */
if (param_contact) {
- pjsip_msg_add_hdr(msg, (void*)param_contact);
+ pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_contact);
}
/* Add Call-ID header. */
- pjsip_msg_add_hdr(msg, (void*)param_call_id);
+ pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_call_id);
/* Add CSeq header. */
- pjsip_msg_add_hdr(msg, (void*)param_cseq);
+ pjsip_msg_add_hdr(msg, (pjsip_hdr*)param_cseq);
/* Add a blank Via header in the front of the message. */
via = pjsip_via_hdr_create(tdata->pool);
via->rport_param = 0;
- pjsip_msg_insert_first_hdr(msg, (void*)via);
+ pjsip_msg_insert_first_hdr(msg, (pjsip_hdr*)via);
/* Add header params as request headers */
if (PJSIP_URI_SCHEME_IS_SIP(param_target) ||
@@ -134,7 +135,7 @@ static void init_request_throw( pjsip_endpoint *endpt,
/* Create message body. */
if (param_text) {
- body = pj_pool_calloc(tdata->pool, 1, sizeof(pjsip_msg_body));
+ body = PJ_POOL_ZALLOC_T(tdata->pool, pjsip_msg_body);
body->content_type.type = str_TEXT;
body->content_type.subtype = str_PLAIN;
body->data = pj_pool_alloc(tdata->pool, param_text->slen );
@@ -296,16 +297,18 @@ pjsip_endpt_create_request_from_hdr( pjsip_endpoint *endpt,
PJ_TRY {
/* Duplicate target URI and headers. */
- target = pjsip_uri_clone(tdata->pool, param_target);
- from = pjsip_hdr_clone(tdata->pool, param_from);
+ target = (pjsip_uri*) pjsip_uri_clone(tdata->pool, param_target);
+ from = (pjsip_from_hdr*) pjsip_hdr_clone(tdata->pool, param_from);
pjsip_fromto_hdr_set_from(from);
- to = pjsip_hdr_clone(tdata->pool, param_to);
+ to = (pjsip_to_hdr*) pjsip_hdr_clone(tdata->pool, param_to);
pjsip_fromto_hdr_set_to(to);
- if (param_contact)
- contact = pjsip_hdr_clone(tdata->pool, param_contact);
- else
+ if (param_contact) {
+ contact = (pjsip_contact_hdr*)
+ pjsip_hdr_clone(tdata->pool, param_contact);
+ } else {
contact = NULL;
- call_id = pjsip_hdr_clone(tdata->pool, param_call_id);
+ }
+ call_id = (pjsip_cid_hdr*) pjsip_hdr_clone(tdata->pool, param_call_id);
cseq = pjsip_cseq_hdr_create(tdata->pool);
if (param_cseq >= 0)
cseq->cseq = param_cseq;
@@ -385,39 +388,42 @@ PJ_DEF(pj_status_t) pjsip_endpt_create_response( pjsip_endpoint *endpt,
/* Copy all the via headers, in order. */
via = rdata->msg_info.via;
while (via) {
- pjsip_msg_add_hdr( msg, pjsip_hdr_clone(tdata->pool, via));
+ pjsip_msg_add_hdr( msg, (pjsip_hdr*)pjsip_hdr_clone(tdata->pool, via));
via = via->next;
if (via != (void*)&req_msg->hdr)
- via = pjsip_msg_find_hdr(req_msg, PJSIP_H_VIA, via);
+ via = (pjsip_via_hdr*)
+ pjsip_msg_find_hdr(req_msg, PJSIP_H_VIA, via);
else
break;
}
/* Copy all Record-Route headers, in order. */
- rr = pjsip_msg_find_hdr(req_msg, PJSIP_H_RECORD_ROUTE, NULL);
+ rr = (pjsip_rr_hdr*)
+ pjsip_msg_find_hdr(req_msg, PJSIP_H_RECORD_ROUTE, NULL);
while (rr) {
- pjsip_msg_add_hdr(msg, pjsip_hdr_clone(tdata->pool, rr));
+ pjsip_msg_add_hdr(msg, (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, rr));
rr = rr->next;
if (rr != (void*)&req_msg->hdr)
- rr = pjsip_msg_find_hdr(req_msg, PJSIP_H_RECORD_ROUTE, rr);
+ rr = (pjsip_rr_hdr*) pjsip_msg_find_hdr(req_msg,
+ PJSIP_H_RECORD_ROUTE, rr);
else
break;
}
/* Copy Call-ID header. */
- hdr = pjsip_msg_find_hdr( req_msg, PJSIP_H_CALL_ID, NULL);
- pjsip_msg_add_hdr(msg, pjsip_hdr_clone(tdata->pool, hdr));
+ hdr = (pjsip_hdr*) pjsip_msg_find_hdr( req_msg, PJSIP_H_CALL_ID, NULL);
+ pjsip_msg_add_hdr(msg, (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, hdr));
/* Copy From header. */
- hdr = pjsip_hdr_clone(tdata->pool, rdata->msg_info.from);
+ hdr = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, rdata->msg_info.from);
pjsip_msg_add_hdr( msg, hdr);
/* Copy To header. */
- hdr = pjsip_hdr_clone(tdata->pool, rdata->msg_info.to);
+ hdr = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, rdata->msg_info.to);
pjsip_msg_add_hdr( msg, hdr);
/* Copy CSeq header. */
- hdr = pjsip_hdr_clone(tdata->pool, rdata->msg_info.cseq);
+ hdr = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, rdata->msg_info.cseq);
pjsip_msg_add_hdr( msg, hdr);
/* All done. */
@@ -494,23 +500,25 @@ PJ_DEF(pj_status_t) pjsip_endpt_create_ack( pjsip_endpoint *endpt,
/* Clear Via headers in the new request. */
- while ((via=pjsip_msg_find_hdr(ack->msg, PJSIP_H_VIA, NULL)) != NULL)
+ while ((via=(pjsip_hdr*)pjsip_msg_find_hdr(ack->msg, PJSIP_H_VIA, NULL)) != NULL)
pj_list_erase(via);
/* Must contain single Via, just as the original INVITE. */
- hdr = pjsip_msg_find_hdr( invite_msg, PJSIP_H_VIA, NULL);
- pjsip_msg_insert_first_hdr( ack->msg, pjsip_hdr_clone(ack->pool,hdr) );
+ hdr = (pjsip_hdr*) pjsip_msg_find_hdr( invite_msg, PJSIP_H_VIA, NULL);
+ pjsip_msg_insert_first_hdr( ack->msg,
+ (pjsip_hdr*) pjsip_hdr_clone(ack->pool,hdr) );
/* If the original INVITE has Route headers, those header fields MUST
* appear in the ACK.
*/
- hdr = pjsip_msg_find_hdr( invite_msg, PJSIP_H_ROUTE, NULL);
+ hdr = (pjsip_hdr*) pjsip_msg_find_hdr( invite_msg, PJSIP_H_ROUTE, NULL);
while (hdr != NULL) {
- pjsip_msg_add_hdr( ack->msg, pjsip_hdr_clone(ack->pool, hdr) );
+ pjsip_msg_add_hdr( ack->msg,
+ (pjsip_hdr*) pjsip_hdr_clone(ack->pool, hdr) );
hdr = hdr->next;
if (hdr == &invite_msg->hdr)
break;
- hdr = pjsip_msg_find_hdr( invite_msg, PJSIP_H_ROUTE, hdr);
+ hdr = (pjsip_hdr*) pjsip_msg_find_hdr( invite_msg, PJSIP_H_ROUTE, hdr);
}
/* We're done.
@@ -578,30 +586,31 @@ PJ_DEF(pj_status_t) pjsip_endpt_create_cancel( pjsip_endpoint *endpt,
return status;
/* Clear Via headers in the new request. */
- while ((via=pjsip_msg_find_hdr(cancel_tdata->msg, PJSIP_H_VIA, NULL)) != NULL)
+ while ((via=(pjsip_hdr*)pjsip_msg_find_hdr(cancel_tdata->msg, PJSIP_H_VIA, NULL)) != NULL)
pj_list_erase(via);
/* Must only have single Via which matches the top-most Via in the
* request being cancelled.
*/
- hdr = pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_VIA, NULL);
+ hdr = (pjsip_hdr*) pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_VIA, NULL);
if (hdr) {
pjsip_msg_insert_first_hdr(cancel_tdata->msg,
- pjsip_hdr_clone(cancel_tdata->pool, hdr));
+ (pjsip_hdr*)pjsip_hdr_clone(cancel_tdata->pool, hdr));
}
/* If the original request has Route header, the CANCEL request must also
* has exactly the same.
* Copy "Route" header from the request.
*/
- hdr = pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_ROUTE, NULL);
+ hdr = (pjsip_hdr*) pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_ROUTE, NULL);
while (hdr != NULL) {
pjsip_msg_add_hdr(cancel_tdata->msg,
- pjsip_hdr_clone(cancel_tdata->pool, hdr));
+ (pjsip_hdr*) pjsip_hdr_clone(cancel_tdata->pool, hdr));
hdr = hdr->next;
if (hdr != &req_tdata->msg->hdr)
- hdr = pjsip_msg_find_hdr(req_tdata->msg, PJSIP_H_ROUTE, hdr);
+ hdr = (pjsip_hdr*) pjsip_msg_find_hdr(req_tdata->msg,
+ PJSIP_H_ROUTE, hdr);
else
break;
}
@@ -637,7 +646,8 @@ PJ_DEF(pj_status_t) pjsip_get_request_dest(const pjsip_tx_data *tdata,
/* Get the first "Route" header from the message.
*/
- first_route_hdr = pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE, NULL);
+ first_route_hdr = (const pjsip_route_hdr*)
+ pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE, NULL);
if (first_route_hdr) {
target_uri = first_route_hdr->name_addr.uri;
} else {
@@ -697,13 +707,14 @@ PJ_DEF(pj_status_t) pjsip_process_route_set(pjsip_tx_data *tdata,
PJ_ASSERT_RETURN(dest_info != NULL, PJ_EINVAL);
/* Find the first and last "Route" headers from the message. */
- last_route_hdr = first_route_hdr =
+ last_route_hdr = first_route_hdr = (pjsip_route_hdr*)
pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE, NULL);
if (first_route_hdr) {
topmost_route_uri = &first_route_hdr->name_addr;
while (last_route_hdr->next != (void*)&tdata->msg->hdr) {
pjsip_route_hdr *hdr;
- hdr = pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE,
+ hdr = (pjsip_route_hdr*)
+ pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ROUTE,
last_route_hdr->next);
if (!hdr)
break;
@@ -728,7 +739,7 @@ PJ_DEF(pj_status_t) pjsip_process_route_set(pjsip_tx_data *tdata,
if (PJSIP_URI_SCHEME_IS_SIP(topmost_route_uri) ||
PJSIP_URI_SCHEME_IS_SIPS(topmost_route_uri))
{
- const pjsip_sip_uri *url =
+ const pjsip_sip_uri *url = (const pjsip_sip_uri*)
pjsip_uri_get_uri((void*)topmost_route_uri);
has_lr_param = url->lr_param;
} else {
@@ -747,7 +758,8 @@ PJ_DEF(pj_status_t) pjsip_process_route_set(pjsip_tx_data *tdata,
last_route_hdr = NULL;
*/
} else {
- new_request_uri = pjsip_uri_get_uri((void*)topmost_route_uri);
+ new_request_uri = (const pjsip_uri*)
+ pjsip_uri_get_uri((pjsip_uri*)topmost_route_uri);
pj_list_erase(first_route_hdr);
if (first_route_hdr == last_route_hdr)
last_route_hdr = NULL;
@@ -793,7 +805,8 @@ PJ_DEF(pj_status_t) pjsip_process_route_set(pjsip_tx_data *tdata,
*/
if (new_request_uri && new_request_uri!=tdata->msg->line.req.uri) {
pjsip_route_hdr *route = pjsip_route_hdr_create(tdata->pool);
- route->name_addr.uri = pjsip_uri_get_uri(tdata->msg->line.req.uri);
+ route->name_addr.uri = (pjsip_uri*)
+ pjsip_uri_get_uri(tdata->msg->line.req.uri);
if (last_route_hdr)
pj_list_insert_after(last_route_hdr, route);
else
@@ -814,7 +827,7 @@ static void stateless_send_transport_cb( void *token,
pjsip_tx_data *tdata,
pj_ssize_t sent )
{
- pjsip_send_state *stateless_data = token;
+ pjsip_send_state *stateless_data = (pjsip_send_state*) token;
PJ_UNUSED_ARG(tdata);
pj_assert(tdata == stateless_data->tdata);
@@ -915,8 +928,8 @@ static void stateless_send_transport_cb( void *token,
if (via->branch_param.slen == 0) {
pj_str_t tmp;
- via->branch_param.ptr = pj_pool_alloc(tdata->pool,
- PJSIP_MAX_BRANCH_LEN);
+ via->branch_param.ptr = (char*)pj_pool_alloc(tdata->pool,
+ PJSIP_MAX_BRANCH_LEN);
via->branch_param.slen = PJSIP_MAX_BRANCH_LEN;
pj_memcpy(via->branch_param.ptr, PJSIP_RFC3261_BRANCH_ID,
PJSIP_RFC3261_BRANCH_LEN);
@@ -960,7 +973,7 @@ stateless_send_resolver_callback( pj_status_t status,
void *token,
const struct pjsip_server_addresses *addr)
{
- pjsip_send_state *stateless_data = token;
+ pjsip_send_state *stateless_data = (pjsip_send_state*) token;
/* Fail on server resolution. */
if (status != PJ_SUCCESS) {
@@ -1008,7 +1021,7 @@ pjsip_endpt_send_request_stateless(pjsip_endpoint *endpt,
return status;
/* Keep stateless data. */
- stateless_data = pj_pool_zalloc(tdata->pool, sizeof(pjsip_send_state));
+ stateless_data = PJ_POOL_ZALLOC_T(tdata->pool, pjsip_send_state);
stateless_data->token = token;
stateless_data->endpt = endpt;
stateless_data->tdata = tdata;
@@ -1135,7 +1148,7 @@ PJ_DEF(pj_status_t) pjsip_get_response_addr( pj_pool_t *pool,
static void send_response_transport_cb(void *token, pjsip_tx_data *tdata,
pj_ssize_t sent)
{
- pjsip_send_state *send_state = token;
+ pjsip_send_state *send_state = (pjsip_send_state*) token;
pj_bool_t cont = PJ_FALSE;
/* Call callback, if any. */
@@ -1155,7 +1168,7 @@ static void send_response_transport_cb(void *token, pjsip_tx_data *tdata,
static void send_response_resolver_cb( pj_status_t status, void *token,
const pjsip_server_addresses *addr )
{
- pjsip_send_state *send_state = token;
+ pjsip_send_state *send_state = (pjsip_send_state*) token;
if (status != PJ_SUCCESS) {
if (send_state->app_cb) {
@@ -1224,7 +1237,7 @@ PJ_DEF(pj_status_t) pjsip_endpt_send_response( pjsip_endpoint *endpt,
pj_status_t status;
/* Create structure to keep the sending state. */
- send_state = pj_pool_zalloc(tdata->pool, sizeof(pjsip_send_state));
+ send_state = PJ_POOL_ZALLOC_T(tdata->pool, pjsip_send_state);
send_state->endpt = endpt;
send_state->tdata = tdata;
send_state->token = token;
@@ -1317,7 +1330,8 @@ PJ_DEF(pj_status_t) pjsip_endpt_respond_stateless( pjsip_endpoint *endpt,
if (hdr_list) {
const pjsip_hdr *hdr = hdr_list->next;
while (hdr != hdr_list) {
- pjsip_msg_add_hdr( tdata->msg, pjsip_hdr_clone(tdata->pool, hdr) );
+ pjsip_msg_add_hdr(tdata->msg,
+ (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, hdr) );
hdr = hdr->next;
}
}
diff --git a/pjsip/src/pjsip/sip_util_proxy.c b/pjsip/src/pjsip/sip_util_proxy.c
index b9631397..47b64995 100644
--- a/pjsip/src/pjsip/sip_util_proxy.c
+++ b/pjsip/src/pjsip/sip_util_proxy.c
@@ -128,9 +128,11 @@ PJ_DEF(pj_status_t) pjsip_endpt_create_request_fwd(pjsip_endpoint *endpt,
/* Set request URI */
if (uri) {
- dst->line.req.uri = pjsip_uri_clone(tdata->pool, uri);
+ dst->line.req.uri = (pjsip_uri*)
+ pjsip_uri_clone(tdata->pool, uri);
} else {
- dst->line.req.uri = pjsip_uri_clone(tdata->pool, src->line.req.uri);
+ dst->line.req.uri= (pjsip_uri*)
+ pjsip_uri_clone(tdata->pool, src->line.req.uri);
}
/* Clone ALL headers */
@@ -192,7 +194,7 @@ PJ_DEF(pj_status_t) pjsip_endpt_create_request_fwd(pjsip_endpoint *endpt,
#endif
/* Clone the header */
- hdst = pjsip_hdr_clone(tdata->pool, hsrc);
+ hdst = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, hsrc);
/* If this is Max-Forward header, decrement the value */
if (hdst->type == PJSIP_H_MAX_FORWARDS) {
@@ -291,7 +293,8 @@ PJ_DEF(pj_status_t) pjsip_endpt_create_response_fwd( pjsip_endpoint *endpt,
continue;
}
- pjsip_msg_add_hdr(dst, pjsip_hdr_clone(tdata->pool, hsrc));
+ pjsip_msg_add_hdr(dst,
+ (pjsip_hdr*)pjsip_hdr_clone(tdata->pool, hsrc));
hsrc = hsrc->next;
}
@@ -341,7 +344,8 @@ PJ_DEF(pj_str_t) pjsip_calculate_branch_id( pjsip_rx_data *rdata )
rdata->msg_info.via->branch_param.slen);
pj_md5_final(&ctx, digest);
- branch.ptr = pj_pool_alloc(rdata->tp_info.pool,
+ branch.ptr = (char*)
+ pj_pool_alloc(rdata->tp_info.pool,
32 + PJSIP_RFC3261_BRANCH_LEN);
pj_memcpy(branch.ptr, PJSIP_RFC3261_BRANCH_ID, PJSIP_RFC3261_BRANCH_LEN);
diff --git a/pjsip/src/pjsip/sip_util_statefull.c b/pjsip/src/pjsip/sip_util_statefull.c
index 27ce550a..129a13cd 100644
--- a/pjsip/src/pjsip/sip_util_statefull.c
+++ b/pjsip/src/pjsip/sip_util_statefull.c
@@ -61,7 +61,7 @@ static void mod_util_on_tsx_state(pjsip_transaction *tsx, pjsip_event *event)
if (event->type != PJSIP_EVENT_TSX_STATE)
return;
- tsx_data = tsx->mod_data[mod_stateful_util.id];
+ tsx_data = (struct tsx_data*) tsx->mod_data[mod_stateful_util.id];
if (tsx_data == NULL)
return;
@@ -102,7 +102,7 @@ PJ_DEF(pj_status_t) pjsip_endpt_send_request( pjsip_endpoint *endpt,
return status;
}
- tsx_data = pj_pool_alloc(tsx->pool, sizeof(struct tsx_data));
+ tsx_data = PJ_POOL_ALLOC_T(tsx->pool, struct tsx_data);
tsx_data->token = token;
tsx_data->cb = cb;
@@ -147,7 +147,8 @@ PJ_DEF(pj_status_t) pjsip_endpt_respond( pjsip_endpoint *endpt,
if (hdr_list) {
const pjsip_hdr *hdr = hdr_list->next;
while (hdr != hdr_list) {
- pjsip_msg_add_hdr( tdata->msg, pjsip_hdr_clone(tdata->pool, hdr) );
+ pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)
+ pjsip_hdr_clone(tdata->pool, hdr) );
hdr = hdr->next;
}
}