这篇教程C++ BUF_strlcat函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中BUF_strlcat函数的典型用法代码示例。如果您正苦于以下问题:C++ BUF_strlcat函数的具体用法?C++ BUF_strlcat怎么用?C++ BUF_strlcat使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了BUF_strlcat函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: append_bufstatic 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: sizeofchar *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_strlcpyconst 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_typevoid 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_infovoid 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: strlenstatic 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函数代码示例
|