char cid_name[80] = { '\0' };
char cid_num[80] = { '\0' };
+ ast_free(endpoint->id.self.name.str);
+ endpoint->id.self.name.str = NULL;
+ endpoint->id.self.name.valid = 0;
+ ast_free(endpoint->id.self.number.str);
+ endpoint->id.self.number.str = NULL;
+ endpoint->id.self.number.valid = 0;
+
ast_callerid_split(var->value, cid_name, sizeof(cid_name), cid_num, sizeof(cid_num));
if (!ast_strlen_zero(cid_name)) {
endpoint->id.self.name.str = ast_strdup(cid_name);
static int caller_id_tag_handler(const struct aco_option *opt, struct ast_variable *var, void *obj)
{
struct ast_sip_endpoint *endpoint = obj;
+
+ ast_free(endpoint->id.self.tag);
endpoint->id.self.tag = ast_strdup(var->value);
+
return endpoint->id.self.tag ? 0 : -1;
}
{
struct ast_sip_endpoint *endpoint = obj;
+ ast_free(endpoint->subscription.mwi.voicemail_extension);
endpoint->subscription.mwi.voicemail_extension = ast_strdup(var->value);
return endpoint->subscription.mwi.voicemail_extension ? 0 : -1;
{
struct ast_sip_endpoint *endpoint = obj;
+ ast_free(endpoint->contact_user);
endpoint->contact_user = ast_strdup(var->value);
- if (!endpoint->contact_user) {
- return -1;
- }
- return 0;
+ return endpoint->contact_user ? 0 : -1;
}
static int contact_user_to_str(const void *obj, const intptr_t *args, char **buf)
ao2_cleanup(endpoint);
return NULL;
}
+
ast_party_id_init(&endpoint->id.self);
+ endpoint->id.self.tag = ast_strdup("");
if (AST_VECTOR_INIT(&endpoint->ident_method_order, 1)) {
return NULL;