您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ BUF_strlcat函数代码示例

51自学网 2021-06-01 19:53:51
  C++
这篇教程C++ BUF_strlcat函数代码示例写得很实用,希望能帮到您。

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

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

示例1: append_buf

static int append_buf(char **buf, const char *s, int *size, int step)	{	int l = strlen(s);	if (*buf == NULL)		{		*size = step;		*buf = OPENSSL_malloc(*size);		if (*buf == NULL)			return 0;		**buf = '/0';		}	if (**buf != '/0')		l += 2;		/* ", " */	if (strlen(*buf) + strlen(s) >= (unsigned int)*size)		{		*size += step;		*buf = OPENSSL_realloc(*buf, *size);		}	if (*buf == NULL)		return 0;	if (**buf != '/0')		BUF_strlcat(*buf, ", ", *size);	BUF_strlcat(*buf, s, *size);	return 1;	}
开发者ID:oss-forks,项目名称:openssl,代码行数:31,


示例2: sizeof

char *UI_construct_prompt(UI *ui, const char *object_desc,                          const char *object_name){    char *prompt = NULL;    if (ui->meth->ui_construct_prompt)        prompt = ui->meth->ui_construct_prompt(ui, object_desc, object_name);    else {        char prompt1[] = "Enter ";        char prompt2[] = " for ";        char prompt3[] = ":";        int len = 0;        if (object_desc == NULL)            return NULL;        len = sizeof(prompt1) - 1 + strlen(object_desc);        if (object_name)            len += sizeof(prompt2) - 1 + strlen(object_name);        len += sizeof(prompt3) - 1;        prompt = OPENSSL_malloc(len + 1);        if (prompt == NULL)            return NULL;        BUF_strlcpy(prompt, prompt1, len + 1);        BUF_strlcat(prompt, object_desc, len + 1);        if (object_name) {            BUF_strlcat(prompt, prompt2, len + 1);            BUF_strlcat(prompt, object_name, len + 1);        }        BUF_strlcat(prompt, prompt3, len + 1);    }    return prompt;}
开发者ID:crypto-org-ua,项目名称:openssl-ua,代码行数:33,


示例3: BUF_strlcpy

const char *RAND_file_name(char *buf, size_t size)	{	char *s=NULL;	int ok = 0;#ifdef __OpenBSD__	struct stat sb;#endif	if (OPENSSL_issetugid() == 0)		s=getenv("RANDFILE");	if (s != NULL && *s && strlen(s) + 1 < size)		{		if (BUF_strlcpy(buf,s,size) >= size)			return NULL;		}	else		{		if (OPENSSL_issetugid() == 0)			s=getenv("HOME");#ifdef DEFAULT_HOME		if (s == NULL)			{			s = DEFAULT_HOME;			}#endif		if (s && *s && strlen(s)+strlen(RFILE)+2 < size)			{			BUF_strlcpy(buf,s,size);#ifndef OPENSSL_SYS_VMS			BUF_strlcat(buf,"/",size);#endif			BUF_strlcat(buf,RFILE,size);			ok = 1;			}		else		  	buf[0] = '/0'; /* no file name */		}#ifdef __OpenBSD__	/* given that all random loads just fail if the file can't be 	 * seen on a stat, we stat the file we're returning, if it	 * fails, use /dev/arandom instead. this allows the user to 	 * use their own source for good random data, but defaults	 * to something hopefully decent if that isn't available. 	 */	if (!ok)		if (BUF_strlcpy(buf,"/dev/arandom",size) >= size) {			return(NULL);		}		if (stat(buf,&sb) == -1)		if (BUF_strlcpy(buf,"/dev/arandom",size) >= size) {			return(NULL);		}	#endif	return(buf);	}
开发者ID:S0043640wipro,项目名称:RiCRiPInt,代码行数:58,


示例4: PEM_proc_type

void PEM_proc_type(char *buf, int type)  {  const char *str;  if (type == PEM_TYPE_ENCRYPTED)    str="ENCRYPTED";  else if (type == PEM_TYPE_MIC_CLEAR)    str="MIC-CLEAR";  else if (type == PEM_TYPE_MIC_ONLY)    str="MIC-ONLY";  else    str="BAD-TYPE";      BUF_strlcat(buf,"Proc-Type: 4,",PEM_BUFSIZE);  BUF_strlcat(buf,str,PEM_BUFSIZE);  BUF_strlcat(buf,"/n",PEM_BUFSIZE);  }
开发者ID:yyyyyao,项目名称:Slicer3-lib-mirrors,代码行数:17,


示例5: PEM_dek_info

void PEM_dek_info(char *buf, const char *type, int len, char *str){    static const unsigned char map[17] = "0123456789ABCDEF";    long i;    int j;    BUF_strlcat(buf, "DEK-Info: ", PEM_BUFSIZE);    BUF_strlcat(buf, type, PEM_BUFSIZE);    BUF_strlcat(buf, ",", PEM_BUFSIZE);    j = strlen(buf);    if (j + (len * 2) + 1 > PEM_BUFSIZE)        return;    for (i = 0; i < len; i++) {        buf[j + i * 2] = map[(str[i] >> 4) & 0x0f];        buf[j + i * 2 + 1] = map[(str[i]) & 0x0f];    }    buf[j + i * 2] = '/n';    buf[j + i * 2 + 1] = '/0';}
开发者ID:endlessm,项目名称:shim,代码行数:19,


示例6: strlen

static ASN1_INTEGER *x509_load_serial (char *CAfile, char *serialfile, int create){    char *buf = NULL, *p;    ASN1_INTEGER *bs = NULL;    BIGNUM *serial = NULL;    size_t len;    len = ((serialfile == NULL) ? (strlen (CAfile) + strlen (POSTFIX) + 1) : (strlen (serialfile))) + 1;    buf = OPENSSL_malloc (len);    if (buf == NULL)    {        BIO_printf (bio_err, "out of mem/n");        goto end;    }    if (serialfile == NULL)    {        BUF_strlcpy (buf, CAfile, len);        for (p = buf; *p; p++)            if (*p == '.')            {                *p = '/0';                break;            }        BUF_strlcat (buf, POSTFIX, len);    }    else        BUF_strlcpy (buf, serialfile, len);    serial = load_serial (buf, create, NULL);    if (serial == NULL)        goto end;    if (!BN_add_word (serial, 1))    {        BIO_printf (bio_err, "add_word failure/n");        goto end;    }    if (!save_serial (buf, NULL, serial, &bs))        goto end;  end:    if (buf)        OPENSSL_free (buf);    BN_free (serial);    return bs;}
开发者ID:274914765,项目名称:C,代码行数:50,


示例7: ERR_load_crypto_strings

/** * @brief	Push an openssl-generated error onto the error stack. */errinfo_t *_push_error_stack_openssl(const char *filename, const char *funcname, int lineno, unsigned int errcode, int xerrno) {	const char *ssl_filename, *ssl_data;	char auxmsg[512], tmpbuf[512], tmpbuf2[512];	int ssl_line, ssl_flags, first_pass = 1;	static int loaded = 0;	if (!loaded) {		ERR_load_crypto_strings();		SSL_load_error_strings();		loaded = 1;	}	memset(auxmsg, 0, sizeof(auxmsg));	// Keep doing this as long as there's more errors there.	while (ERR_peek_error_line_data(&ssl_filename, &ssl_line, &ssl_data, &ssl_flags)) {		if (!first_pass) {			BUF_strlcat(auxmsg, " | ", sizeof(auxmsg));		} else {			first_pass = 0;		}		memset(tmpbuf, 0, sizeof(tmpbuf));		snprintf(tmpbuf, sizeof(tmpbuf), ":%s:%d", ssl_filename, ssl_line);		memset(tmpbuf2, 0, sizeof(tmpbuf2));		ERR_error_string_n(ERR_get_error(), tmpbuf2, sizeof(tmpbuf2));		// Combine the two error strings and add them to the buffer.		BUF_strlcat(auxmsg, tmpbuf2, sizeof(auxmsg));		BUF_strlcat(auxmsg, tmpbuf, sizeof(auxmsg));	}	return (_push_error_stack(filename, funcname, lineno, errcode, xerrno, auxmsg));}
开发者ID:0x4E0x650x6F,项目名称:libdime,代码行数:40,


示例8: defined

/* Add EFIAPI for UEFI version. */void#if defined(OPENSSL_SYS_UEFI)EFIAPI#endifERR_add_error_data(int num, ...)	{	va_list args;	int i,n,s;	char *str,*p,*a;	s=80;	str=OPENSSL_malloc(s+1);	if (str == NULL) return;	str[0]='/0';	va_start(args, num);	n=0;	for (i=0; i<num; i++)		{		a=va_arg(args, char*);		/* ignore NULLs, thanks to Bob Beck <[email
C++ BUF_strlcpy函数代码示例
C++ BUF_strdup函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。