• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ osip_strdup函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中osip_strdup函数的典型用法代码示例。如果您正苦于以下问题:C++ osip_strdup函数的具体用法?C++ osip_strdup怎么用?C++ osip_strdup使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了osip_strdup函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: osip_cseq_clone

int
osip_cseq_clone (const osip_cseq_t * cseq, osip_cseq_t ** dest)
{
  int i;
  osip_cseq_t *cs;

  *dest = NULL;
  if (cseq == NULL)
    return OSIP_BADPARAMETER;
  if (cseq->method == NULL)
    return OSIP_BADPARAMETER;
  if (cseq->number == NULL)
    return OSIP_BADPARAMETER;

  i = osip_cseq_init (&cs);
  if (i != 0) {
    osip_cseq_free (cs);
    return i;
  }
  cs->method = osip_strdup (cseq->method);
  cs->number = osip_strdup (cseq->number);

  *dest = cs;
  return OSIP_SUCCESS;
}
开发者ID:CrazyBBer,项目名称:sip_stack,代码行数:25,代码来源:osip_cseq.c


示例2: osip_authentication_info_clone

int
osip_authentication_info_clone (const osip_authentication_info_t * ainfo,
                                osip_authentication_info_t ** dest)
{
  int i;
  osip_authentication_info_t *wa;

  *dest = NULL;
  if (ainfo == NULL)
    return -1;

  i = osip_authentication_info_init (&wa);
  if (i == -1)                  /* allocation failed */
    return -1;
  if (ainfo->nextnonce != NULL)
    wa->nextnonce = osip_strdup (ainfo->nextnonce);
  if (ainfo->cnonce != NULL)
    wa->cnonce = osip_strdup (ainfo->cnonce);
  if (ainfo->rspauth != NULL)
    wa->rspauth = osip_strdup (ainfo->rspauth);
  if (ainfo->nonce_count != NULL)
    wa->nonce_count = osip_strdup (ainfo->nonce_count);
  if (ainfo->qop_options != NULL)
    wa->qop_options = osip_strdup (ainfo->qop_options);

  *dest = wa;
  return 0;
}
开发者ID:gabrieldelsaint,项目名称:UIM,代码行数:28,代码来源:osip_authentication_info.c


示例3: osip_cseq_clone

int
osip_cseq_clone (const osip_cseq_t * cseq, osip_cseq_t ** dest)
{
  int i;
  osip_cseq_t *cs;

  *dest = NULL;
  if (cseq == NULL)
    return -1;
  if (cseq->method == NULL)
    return -1;
  if (cseq->number == NULL)
    return -1;

  i = osip_cseq_init (&cs);
  if (i != 0)
    {
      osip_cseq_free (cs);
      return -1;
    }
  cs->method = osip_strdup (cseq->method);
  cs->number = osip_strdup (cseq->number);

  *dest = cs;
  return 0;
}
开发者ID:Nymphetaminer,项目名称:dsl-n55u,代码行数:26,代码来源:osip_cseq.c


示例4: add_relay_info

static void add_relay_info(sdp_message_t *sdp, int mline, const char *relay, const char *relay_session_id){

	if (relay) sdp_message_a_attribute_add(sdp, mline,
				     osip_strdup ("relay-addr"),osip_strdup(relay));
	if (relay_session_id) sdp_message_a_attribute_add(sdp, mline,
				     osip_strdup ("relay-session-id"), osip_strdup(relay_session_id));
}
开发者ID:ApOgEE,项目名称:linphone-sdk,代码行数:7,代码来源:sal_eXosip2_sdp.c


示例5: eXtl_update_local_target

static int
eXtl_update_local_target(osip_message_t *req)
{
  int pos = 0;

  if (dtls_firewall_ip!='\0')
    {

      while (!osip_list_eol (&req->contacts, pos))
	{
	  osip_contact_t *co;
	  
	  co = (osip_contact_t *) osip_list_get (&req->contacts, pos);
	  pos++;
	  if (co != NULL && co->url != NULL && co->url->host != NULL
	      && 0 == osip_strcasecmp (co->url->host, dtls_firewall_ip))
	    {
	      if (co->url->port == NULL &&
		  0 != osip_strcasecmp (dtls_firewall_port, "5061"))
		{
		  co->url->port = osip_strdup (dtls_firewall_port);
		}
	      else if (co->url->port != NULL &&
		       0 != osip_strcasecmp (dtls_firewall_port,
					     co->url->port))
		{
		  osip_free (co->url->port);
		  co->url->port = osip_strdup (dtls_firewall_port);
		}
	    }
	}
    }

  return 0;
}
开发者ID:tws67,项目名称:bayonne-base-windows,代码行数:35,代码来源:eXtl_dtls.c


示例6: osip_content_type_clone

int
osip_content_type_clone (const osip_content_type_t * ctt, osip_content_type_t ** dest)
{
  int i;
  osip_content_type_t *ct;

  *dest = NULL;
  if (ctt == NULL)
    return OSIP_BADPARAMETER;

  i = osip_content_type_init (&ct);
  if (i != 0)                   /* allocation failed */
    return i;
  if (ctt->type != NULL)
    ct->type = osip_strdup (ctt->type);
  if (ctt->subtype != NULL)
    ct->subtype = osip_strdup (ctt->subtype);

  {
    osip_generic_param_t *dest_param;
    osip_list_iterator_t it;
    osip_generic_param_t *u_param = (osip_generic_param_t*) osip_list_get_first(&ctt->gen_params, &it);
    while (u_param != OSIP_SUCCESS) {
      i = osip_generic_param_clone (u_param, &dest_param);
      if (i != 0) {
        osip_content_type_free (ct);
        return i;
      }
      osip_list_add (&ct->gen_params, dest_param, -1);
      u_param = (osip_generic_param_t *) osip_list_get_next(&it);
    }
  }
  *dest = ct;
  return OSIP_SUCCESS;
}
开发者ID:Christof0113,项目名称:rtsp-tools,代码行数:35,代码来源:osip_content_type.c


示例7: osip_header_clone

int
osip_header_clone (const osip_header_t * header, osip_header_t ** dest)
{
  int i;
  osip_header_t *he;

  *dest = NULL;
  if (header == NULL)
    return OSIP_BADPARAMETER;
  if (header->hname == NULL)
    return OSIP_BADPARAMETER;

  i = osip_header_init (&he);
  if (i != 0)
    return i;
  he->hname = osip_strdup (header->hname);

  if (he->hname==NULL)
  {
	  osip_header_free (he);
	  return OSIP_NOMEM;
  }
  if (header->hvalue != NULL)
  {
	  he->hvalue = osip_strdup (header->hvalue);
	  if (he->hvalue==NULL)
	  {
		  osip_header_free (he);
		  return OSIP_NOMEM;
	  }
  }

  *dest = he;
  return OSIP_SUCCESS;
}
开发者ID:LaughingAngus,项目名称:linphone-vs2008,代码行数:35,代码来源:osip_header.c


示例8: sip_rewrite_osip_uri

static void sip_rewrite_osip_uri(osip_uri_t* uri, char* host, char* username)
{
    if (NULL != uri->host)     osip_free(uri->host);
    if (NULL != uri->username) osip_free(uri->username);

    uri->host     = osip_strdup(host);
    uri->username = osip_strdup(username);
}
开发者ID:zakalibit,项目名称:siplexd,代码行数:8,代码来源:gateway.c


示例9: init_gateway_map

void init_gateway_map(void)
{
    gw_count = 0;

    gateway_map[gw_count].dp = NULL;
    gateway_map[gw_count].host = osip_strdup("sip.sipgate.com");
    gateway_map[gw_count].username = osip_strdup("user");
    gateway_map[gw_count].password = osip_strdup("password");
    gateway_map[gw_count].port = 5060;

    gw_count++;
}
开发者ID:zakalibit,项目名称:siplexd,代码行数:12,代码来源:gateway.c


示例10: osip_via_clone

int
osip_via_clone (const osip_via_t * via, osip_via_t ** dest)
{
  int i;
  osip_via_t *vi;

  *dest = NULL;
  if (via == NULL)
    return -1;
  if (via->version == NULL)
    return -1;
  if (via->protocol == NULL)
    return -1;
  if (via->host == NULL)
    return -1;

  i = osip_via_init (&vi);
  if (i != 0)
    return -1;
  vi->version = osip_strdup (via->version);
  vi->protocol = osip_strdup (via->protocol);
  vi->host = osip_strdup (via->host);
  if (via->port != NULL)
    vi->port = osip_strdup (via->port);
  if (via->comment != NULL)
    vi->comment = osip_strdup (via->comment);

  {
    int pos = 0;
    osip_generic_param_t *u_param;
    osip_generic_param_t *dest_param;

    while (!osip_list_eol (via->via_params, pos))
      {
	u_param =
	  (osip_generic_param_t *) osip_list_get (via->via_params, pos);
	i = osip_generic_param_clone (u_param, &dest_param);
	if (i != 0)
	  {
	    osip_via_free (vi);
	    return -1;
	  }
	osip_list_add (vi->via_params, dest_param, -1);
	pos++;
      }
  }
  *dest = vi;
  return 0;
}
开发者ID:samm-git,项目名称:e3372h-vendor-src,代码行数:49,代码来源:osip_via.c


示例11: osip_call_info_clone

int
osip_call_info_clone (const osip_call_info_t * ctt, osip_call_info_t ** dest)
{
  int i;
  osip_call_info_t *ct;

  *dest = NULL;
  if (ctt == NULL)
    return OSIP_BADPARAMETER;
  if (ctt->element == NULL)
    return OSIP_BADPARAMETER;

  i = osip_call_info_init (&ct);
  if (i != 0)                   /* allocation failed */
    return i;
  ct->element = osip_strdup (ctt->element);
  if (ct->element==NULL)
  {
      osip_call_info_free (ct);
	  return OSIP_NOMEM;
  }

  i = osip_list_clone(&ctt->gen_params, &ct->gen_params, &osip_generic_param_clone);
  if (i != 0)
    {
      osip_call_info_free (ct);
      return i;
    }
  *dest = ct;
  return OSIP_SUCCESS;
}
开发者ID:LaughingAngus,项目名称:linphone-vs2008,代码行数:31,代码来源:osip_call_info.c


示例12: osip_content_length_clone

int
osip_content_length_clone (const osip_content_length_t * ctl, osip_content_length_t ** dest)
{
  int i;
  osip_content_length_t *cl;

  *dest = NULL;
  if (ctl == NULL)
    return OSIP_BADPARAMETER;
  /*
     empty headers are allowed:
     if (ctl->value==NULL) return -1;
   */
  i = osip_content_length_init (&cl);
  if (i != 0)                   /* allocation failed */
    return i;
  if (ctl->value != NULL) {
    cl->value = osip_strdup (ctl->value);
    if (cl->value == NULL) {
      osip_content_length_free (cl);
      return OSIP_NOMEM;
    }
  }

  *dest = cl;
  return OSIP_SUCCESS;
}
开发者ID:CrazyBBer,项目名称:sip_stack,代码行数:27,代码来源:osip_content_length.c


示例13: osip_dialog_update_tag_as_uac

int
osip_dialog_update_tag_as_uac (osip_dialog_t * dialog, osip_message_t * response)
{
  osip_generic_param_t *tag;
  int i;

  if (dialog == NULL)
    return OSIP_BADPARAMETER;
  if (response == NULL || response->to == NULL)
    return OSIP_BADPARAMETER;

  if (dialog->remote_tag != NULL) {
    OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_WARNING, NULL, "This dialog already have a remote tag: it can't be changed!\n"));
    return OSIP_WRONG_STATE;
  }

  i = osip_to_get_tag (response->to, &tag);
  if (i != 0 || tag == NULL || tag->gvalue == NULL) {
    OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_WARNING, NULL, "Remote UA is not compliant: missing a tag in response!\n"));
    dialog->remote_tag = NULL;
  }
  else
    dialog->remote_tag = osip_strdup (tag->gvalue);
  return OSIP_SUCCESS;
}
开发者ID:benjaminlevine,项目名称:Huawei-HG633-Open-Source-Software-Package,代码行数:25,代码来源:osip_dialog.c


示例14: osip_content_length_to_str

/* returns null on error. */
int
osip_content_length_to_str (const osip_content_length_t * cl, char **dest)
{
    if (cl == NULL)
        return -1;
    *dest = osip_strdup (cl->value);
    return 0;
}
开发者ID:BackupTheBerlios,项目名称:sfsipua-svn,代码行数:9,代码来源:osip_content_length.c


示例15: osip_negotiation_sdp_message_put_on_hold

int
osip_negotiation_sdp_message_put_on_hold (sdp_message_t * sdp)
{
  int pos;
  int pos_media = -1;
  char *rcvsnd;
  int recv_send = -1;

  pos = 0;
  rcvsnd = sdp_message_a_att_field_get (sdp, pos_media, pos);
  while (rcvsnd != NULL)
    {
      if (rcvsnd != NULL && 0 == strcmp (rcvsnd, "sendonly"))
	{
	  recv_send = 0;
	}
      else if (rcvsnd != NULL && (0 == strcmp (rcvsnd, "recvonly")
				  || 0 == strcmp (rcvsnd, "sendrecv")))
	{
	  recv_send = 0;
	  sprintf (rcvsnd, "sendonly");
	}
      pos++;
      rcvsnd = sdp_message_a_att_field_get (sdp, pos_media, pos);
    }

  pos_media = 0;
  while (!sdp_message_endof_media (sdp, pos_media))
    {
      pos = 0;
      rcvsnd = sdp_message_a_att_field_get (sdp, pos_media, pos);
      while (rcvsnd != NULL)
	{
	  if (rcvsnd != NULL && 0 == strcmp (rcvsnd, "sendonly"))
	    {
	      recv_send = 0;
	    }
	  else if (rcvsnd != NULL && (0 == strcmp (rcvsnd, "recvonly")
				      || 0 == strcmp (rcvsnd, "sendrecv")))
	    {
	      recv_send = 0;
	      sprintf (rcvsnd, "sendonly");
	    }
	  pos++;
	  rcvsnd = sdp_message_a_att_field_get (sdp, pos_media, pos);
	}
      pos_media++;
    }

  if (recv_send == -1)
    {
      /* we need to add a global attribute with a field set to "sendonly" */
      sdp_message_a_attribute_add (sdp, -1, osip_strdup ("sendonly"), NULL);
    }

  return 0;
}
开发者ID:samm-git,项目名称:e3372h-vendor-src,代码行数:57,代码来源:osip_negotiation.c


示例16: osip_content_type_clone

int
osip_content_type_clone (const osip_content_type_t * ctt,
			 osip_content_type_t ** dest)
{
  int i;
  osip_content_type_t *ct;

  *dest = NULL;
  if (ctt == NULL)
    return -1;
  if (ctt->type == NULL)
    return -1;
  if (ctt->subtype == NULL)
    return -1;

  i = osip_content_type_init (&ct);
  if (i != 0)			/* allocation failed */
    return -1;
  ct->type = osip_strdup (ctt->type);
  ct->subtype = osip_strdup (ctt->subtype);

  {
    int pos = 0;
    osip_generic_param_t *u_param;
    osip_generic_param_t *dest_param;

    while (!osip_list_eol (ctt->gen_params, pos))
      {
	u_param =
	  (osip_generic_param_t *) osip_list_get (ctt->gen_params, pos);
	i = osip_generic_param_clone (u_param, &dest_param);
	if (i != 0)
	  {
	    osip_content_type_free (ct);
	    osip_free (ct);
	    return -1;
	  }
	osip_list_add (ct->gen_params, dest_param, -1);
	pos++;
      }
  }
  *dest = ct;
  return 0;
}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:44,代码来源:osip_content_type.c


示例17: b64_encode

static char *make_relay_session_id(const char *username, const char *relay){
	/*ideally this should be a hash of the parameters with a random part*/
	char tmp[128];
	int s1=(int)random();
	int s2=(int)random();
	long long int res=((long long int)s1)<<32 | (long long int) s2;
	void *src=&res;
	b64_encode(src, sizeof(long long int), tmp, sizeof(tmp));
	return osip_strdup(tmp);
}
开发者ID:ApOgEE,项目名称:linphone-sdk,代码行数:10,代码来源:sal_eXosip2_sdp.c


示例18: osip_content_length_to_str

/* returns null on error. */
int
osip_content_length_to_str (const osip_content_length_t * cl, char **dest)
{
  if (cl == NULL)
    return OSIP_BADPARAMETER;
  *dest = osip_strdup (cl->value);
  if (*dest == NULL)
    return OSIP_NOMEM;
  return OSIP_SUCCESS;
}
开发者ID:CrazyBBer,项目名称:sip_stack,代码行数:11,代码来源:osip_content_length.c


示例19: ua_sdp_get_video_port

static char *
ua_sdp_get_video_port (osip_negotiation_ctx_t * context, int pos_media)
{
  ua_context_t *ua_con;

  ua_con = (ua_context_t *) context->mycontext;
  return osip_strdup (ua_con->m_video_port);	/* this port should not be static ... */
  /* also, this method should be called more than once... */
  /* If there is more than one audio line, this may fail :( */
}
开发者ID:samm-git,项目名称:e3372h-vendor-src,代码行数:10,代码来源:torture_sdp.c


示例20: jidentity_get_identity

char *
jidentity_get_identity(int fid)
{
  jidentity_t *fr;
  for (fr = eXosip.j_identitys; fr!=NULL ; fr=fr->next)
    {
      if (fid==0)
	return osip_strdup(fr->i_identity);
      fid--;
    }
  return NULL;
}
开发者ID:BackupTheBerlios,项目名称:sfsipua-svn,代码行数:12,代码来源:jidentity.c



注:本文中的osip_strdup函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ osip_strncpy函数代码示例发布时间:2022-05-30
下一篇:
C++ osip_message_free函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap