本文整理汇总了C++中buf_printf函数的典型用法代码示例。如果您正苦于以下问题:C++ buf_printf函数的具体用法?C++ buf_printf怎么用?C++ buf_printf使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了buf_printf函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: username_password_as_base64
static const char *
username_password_as_base64 (const struct http_proxy_info *p,
struct gc_arena *gc)
{
struct buffer out = alloc_buf_gc (strlen (p->up.username) + strlen (p->up.password) + 2, gc);
ASSERT (strlen (p->up.username) > 0);
buf_printf (&out, "%s:%s", p->up.username, p->up.password);
return (const char *)make_base64_string ((const uint8_t*)BSTR (&out), gc);
}
示例2: print_opt_topology
static const char *
print_opt_topology(const int topology, struct gc_arena *gc)
{
struct buffer out = alloc_buf_gc(128, gc);
buf_printf(&out, "topology %s", print_topology(topology));
return BSTR(&out);
}
示例3: format_hex_ex
char *
format_hex_ex (const uint8_t *data, int size, int maxoutput,
int space_break, const char* separator,
struct gc_arena *gc)
{
struct buffer out = alloc_buf_gc (maxoutput ? maxoutput :
((size * 2) + (size / space_break) * (int) strlen (separator) + 2),
gc);
int i;
for (i = 0; i < size; ++i)
{
if (separator && i && !(i % space_break))
buf_printf (&out, "%s", separator);
buf_printf (&out, "%02x", data[i]);
}
buf_catrunc (&out, "[more...]");
return (char *)out.data;
}
示例4: dav_getpath
EXPORTED sqldb_t *dav_open_mailbox(struct mailbox *mailbox)
{
sqldb_t *db = NULL;
struct buf fname = BUF_INITIALIZER;
dav_getpath(&fname, mailbox);
if (in_reconstruct) buf_printf(&fname, ".NEW");
db = sqldb_open(buf_cstring(&fname), CMD_CREATE, DB_VERSION, davdb_upgrade);
buf_free(&fname);
return db;
}
示例5: dav_getpath_byuserid
/* Create filename corresponding to DAV DB for userid */
EXPORTED void dav_getpath_byuserid(struct buf *fname, const char *userid)
{
char c, *domain;
buf_reset(fname);
if (config_virtdomains && (domain = strchr(userid, '@'))) {
char d = (char) dir_hash_c(domain+1, config_fulldirhash);
*domain = '\0'; /* split [email protected] */
c = (char) dir_hash_c(userid, config_fulldirhash);
buf_printf(fname, "%s%s%c/%s%s%c/%s%s", config_dir, FNAME_DOMAINDIR, d,
domain+1, FNAME_USERDIR, c, userid, FNAME_DAVSUFFIX);
*domain = '@'; /* reassemble [email protected] */
}
else {
c = (char) dir_hash_c(userid, config_fulldirhash);
buf_printf(fname, "%s%s%c/%s%s", config_dir, FNAME_USERDIR, c, userid,
FNAME_DAVSUFFIX);
}
}
示例6: print_netmask
static const char *
print_netmask (int netbits, struct gc_arena *gc)
{
struct buffer out = alloc_buf_gc (128, gc);
const in_addr_t netmask = netbits_to_netmask (netbits);
buf_printf (&out, "%s (/%d)", print_in_addr_t (netmask, 0, gc), netbits);
return BSTR (&out);
}
示例7: root_kinfo
/*
* Print general kernel information.
*/
static void
root_kinfo(void)
{
struct kinfo kinfo;
if (sys_getkinfo(&kinfo) != OK)
return;
buf_printf("%u %u\n", kinfo.nr_procs, kinfo.nr_tasks);
}
示例8: dav_getpath_byuserid
EXPORTED sqldb_t *dav_open_userid(const char *userid)
{
sqldb_t *db = NULL;
struct buf fname = BUF_INITIALIZER;
dav_getpath_byuserid(&fname, userid);
if (in_reconstruct) buf_printf(&fname, ".NEW");
db = sqldb_open(buf_cstring(&fname), CMD_CREATE, DB_VERSION, davdb_upgrade);
buf_free(&fname);
return db;
}
示例9: parse_name
static void
parse_name(char *buf, size_t size, const char *name_template, unsigned int ctx_num)
{
struct timespec ts_now;
int in_escape=0;
size_t pos=0;
char c;
buf[--size]=0; /* resverve space for final NUL terminator */
while ( (pos < size) && (c=*(name_template++)) ) {
if (in_escape) {
switch(c) {
case '%':
buf[pos++]=c;
break;
case 'c':
pos=buf_printf(buf,pos,size,"%u",ctx_num);
break;
case 'p':
pos=buf_printf(buf,pos,size,"%u",(unsigned)getpid());
break;
case 't':
clock_gettime(CLOCK_REALTIME, &ts_now);
pos=buf_printf(buf,pos,size,"%09lld.%ld",
(long long)ts_now.tv_sec,
ts_now.tv_nsec);
break;
default:
pos=buf_printf(buf,pos,size,"%%%c",c);
}
in_escape=0;
} else {
switch(c) {
case '%':
in_escape=1;
break;
default:
buf[pos++]=c;
}
}
}
buf[pos]=0;
}
示例10: moto_emitCStructures
void
moto_emitCStructures(MotoEnv *env, StringBuffer *out) {
Enumeration* e;
buf_puts(out, "/* BEGIN GENERATED STRUCTURES */\n\n");
/* Foreach MotoClassDefinition */
e = stab_getValues(env->cdefs);
while(enum_hasNext(e)) {
MotoClassDefinition* mcd = (MotoClassDefinition*)enum_next(e);
Enumeration* ve;
/* Output Ôtypedef struct _<typename> {Ô */
buf_printf(out, "typedef struct _%s {\n",mcd->classn);
/* Foreach var in the MotoClassDefinition */
ve = vec_elements(mcd->memberVarNames);
while(enum_hasNext(ve)) {
char* varn = (char*)enum_next(ve);
MotoVar* mv = moto_createVar(env,varn,mcd_getMemberType(mcd,varn),0,'\0',NULL);
/* if the var is another MotoClassDefinition */
/* output Ôstruct _<var typename> *Õ */
/* else */
/* output <typename> */
/* output varname */
/* output Ô;\nÕ */
buf_printf(out," %s %s;\n", moto_valToCType(mv->vs), mv->n);
moto_freeVar(env,mv);
}
enum_free(ve);
/* output Ô} <typename>;Õ */
buf_printf(out, "} %s;\n\n",mcd->classn);
}
enum_free(e);
buf_puts(out, "/* END GENERATED STRUCTURES */\n\n");
}
示例11: make_env_headers
static void make_env_headers(buf* read_buf, char** env, char** inc_mask, char** exc_mask)
{
int i;
for (i = 0; env[i] != NULL; i++) {
if (client_option.env_all || masks_match(client_option.env_include_mask, env[i])) {
if (!masks_match(client_option.env_exclude_mask, env[i])) {
buf_printf(read_buf, "%s: %s\n", HEADER_KEY_ENV, env[i]);
}
}
}
}
示例12: print_opt_route
static const char *
print_opt_route(const in_addr_t network, const in_addr_t netmask, struct gc_arena *gc)
{
struct buffer out = alloc_buf_gc(128, gc);
ASSERT(network);
if (netmask)
{
buf_printf(&out, "route %s %s",
print_in_addr_t(network, 0, gc),
print_in_addr_t(netmask, 0, gc));
}
else
{
buf_printf(&out, "route %s",
print_in_addr_t(network, 0, gc));
}
return BSTR(&out);
}
示例13: root_meminfo
/*
* Print general memory information.
*/
static void
root_meminfo(void)
{
struct vm_stats_info vsi;
if (vm_info_stats(&vsi) != OK)
return;
buf_printf("%u %lu %lu %lu %lu\n", vsi.vsi_pagesize, vsi.vsi_total,
vsi.vsi_free, vsi.vsi_largest, vsi.vsi_cached);
}
示例14: print_argv
char *
print_argv (const char **p, struct gc_arena *gc, const unsigned int flags)
{
struct buffer out = alloc_buf_gc (256, gc);
int i = 0;
for (;;)
{
const char *cp = *p++;
if (!cp)
break;
if (i)
buf_printf (&out, " ");
if (flags & PA_BRACKET)
buf_printf (&out, "[%s]", cp);
else
buf_printf (&out, "%s", cp);
++i;
}
return BSTR (&out);
}
示例15: setenv_str_safe
void
setenv_str_safe (struct env_set *es, const char *name, const char *value)
{
uint8_t b[64];
struct buffer buf;
buf_set_write (&buf, b, sizeof (b));
if (buf_printf (&buf, "OPENVPN_%s", name))
setenv_str (es, BSTR(&buf), value);
else
msg (M_WARN, "setenv_str_safe: name overflow");
}