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

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

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

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

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

示例1: getmess

void getmess(){  int match;  if (slurpclose(0,&message,1024) == -1) die_read();  strnum[fmt_uint(strnum,message.len)] = 0;  if (!stralloc_copys(&beforemessage,strnum)) nomem();  if (!stralloc_cats(&beforemessage,":")) nomem();  if (!stralloc_copys(&aftermessage,",")) nomem();  if (getln(&envelope,&line,&match,'/0') == -1) die_read();  if (!match) die_format();  if (line.len < 2) die_format();  if (line.s[0] != 'F') die_format();  strnum[fmt_uint(strnum,line.len - 2)] = 0;  if (!stralloc_cats(&aftermessage,strnum)) nomem();  if (!stralloc_cats(&aftermessage,":")) nomem();  if (!stralloc_catb(&aftermessage,line.s + 1,line.len - 2)) nomem();  if (!stralloc_cats(&aftermessage,",")) nomem();  for (;;) {    if (getln(&envelope,&line,&match,'/0') == -1) die_read();    if (!match) die_format();    if (line.len < 2) break;    if (line.s[0] != 'T') die_format();    strnum[fmt_uint(strnum,line.len - 2)] = 0;    if (!stralloc_cats(&aftermessage,strnum)) nomem();    if (!stralloc_cats(&aftermessage,":")) nomem();    if (!stralloc_catb(&aftermessage,line.s + 1,line.len - 2)) nomem();    if (!stralloc_cats(&aftermessage,",")) nomem();  }}
开发者ID:ajtulloch,项目名称:qmail,代码行数:35,


示例2: do_get

static void do_get(const char *action){  unsigned long u;  struct stat st;  char ch;  int r;  unsigned int pos;  int fd;  if (!flagget)    strerr_die2x(100,FATAL,MSG(ERR_NOT_AVAILABLE));  hdr_subject(MSG(SUB_GET_MSG));  hdr_ctboundary();  copy(&qq,"text/top",flagcd);  pos = str_len(ACTION_GET);  if (!case_starts(action,ACTION_GET))    pos = str_len(ALT_GET);  if (action[pos] == '.' || action [pos] == '_') pos++;  scan_ulong(action + pos,&u);  stralloc_copys(&line,"archive/");  stralloc_catb(&line,strnum,fmt_ulong(strnum,u / 100));  stralloc_cats(&line,"/");  stralloc_catb(&line,strnum,fmt_uint0(strnum,(unsigned int) (u % 100),2));  stralloc_0(&line);  fd = open_read(line.s);  if (fd == -1)    if (errno != error_noent)      strerr_die2sys(111,FATAL,MSG1(ERR_OPEN,line.s));    else      copy_act("text/get-bad");  else {    if (fstat(fd,&st) == -1)      copy_act("text/get-bad");    else if (!(st.st_mode & 0100))      copy_act("text/get-bad");    else {      showsend("get");      substdio_fdbuf(&sstext,read,fd,textbuf,sizeof(textbuf));      qmail_puts(&qq,"> ");      for (;;) {	r = substdio_get(&sstext,&ch,1);	if (r == -1) strerr_die2sys(111,FATAL,MSG1(ERR_READ,line.s));	if (r == 0) break;	qmail_put(&qq,&ch,1);	if (ch == '/n') qmail_puts(&qq,"> ");      }      qmail_puts(&qq,"/n");    }    close(fd);  }  copybottom(0);  qmail_to(&qq,target.s);}
开发者ID:chayapan-computing,项目名称:ezmlm-idx,代码行数:57,


示例3: make_num

static voidmake_num(stralloc* out, size_t num, size_t width) {  char fmt[FMT_ULONG + 1];  size_t sz = fmt_ulonglong(fmt, num);  ssize_t n = width - sz;  while(n-- > 0) {    stralloc_catb(out, " ", 1);  }  stralloc_catb(out, fmt, sz);}
开发者ID:rsenn,项目名称:dirlist,代码行数:10,


示例4: env_str

static int env_str(const char *env,const char *val) {  if (envsa) {    return env_val(env,val,str_len(val));    if (!stralloc_cats(envsa,env)) return 0;    if (!stralloc_catb(envsa,"=",1)) return 0;    if (!stralloc_catb(envsa,val,str_len(val) + 1)) return 0;    return 1;  }  return pathexec_env(env,val);}
开发者ID:Safari77,项目名称:ucspi-ssl-fehcom,代码行数:10,


示例5: die_nomem

/* Checks the hash against the cookie table. If it matches, returns NULL, * else returns "". If error, returns error string. */static const char *_checktag (struct subdbinfo *info,                              unsigned long num,	/* message number */                              unsigned long listno,	/* bottom of range => slave */                              const char *action,                              const char *seed,                              const char *hash)		/* cookie */{    sqlite3_stmt *stmt;    int res;    /* SELECT msgnum FROM table_cookie WHERE msgnum=num and cookie='hash' */    /* succeeds only is everything correct. 'hash' is quoted since it is  */    /*  potentially hostile. */    if (listno) {			/* only for slaves */        if (!stralloc_copys(&line,"SELECT listno FROM ")) die_nomem();        if (!stralloc_cats(&line,info->base_table)) die_nomem();        if (!stralloc_cats(&line,"_mlog WHERE listno=")) die_nomem();        if (!stralloc_catb(&line,strnum,fmt_ulong(strnum,listno)))            die_nomem();        if (!stralloc_cats(&line," AND msgnum=")) die_nomem();        if (!stralloc_catb(&line,strnum,fmt_ulong(strnum,num))) die_nomem();        if (!stralloc_cats(&line," AND done > 3")) die_nomem();        if (!stralloc_0(&line)) die_nomem();        if ((stmt = _sqlquery(info, &line)) == NULL)            return sqlite3_errmsg((sqlite3*)info->conn);			/* query */        res = sqlite3_step(stmt);        sqlite3_finalize(stmt);			/* free res */        if (res == SQLITE_ROW)            return "";					/*already done */        else if (res != SQLITE_DONE)            return sqlite3_errmsg((sqlite3*)info->conn);    }    if (!stralloc_copys(&line,"SELECT msgnum FROM ")) die_nomem();    if (!stralloc_cats(&line,info->base_table)) die_nomem();    if (!stralloc_cats(&line,"_cookie WHERE msgnum=")) die_nomem();    if (!stralloc_catb(&line,strnum,fmt_ulong(strnum,num))) die_nomem();    if (!stralloc_cats(&line," and cookie='")) die_nomem();    if (!stralloc_catb(&line,strnum,fmt_str(strnum,hash))) die_nomem();    if (!stralloc_cats(&line,"'")) die_nomem();    if (!stralloc_0(&line)) die_nomem();    if ((stmt = _sqlquery(info, &line)) == NULL)	/* select */        return sqlite3_errmsg((sqlite3*)info->conn);    res = sqlite3_step(stmt);    sqlite3_finalize(stmt);			/* free res */    if (res == SQLITE_DONE)        return "";					/* eof => query ok, but null result*/    else if (res != SQLITE_ROW)        return sqlite3_errmsg((sqlite3*)info->conn);	/* some error occurred */    return (char *)0;				/* success! cookie matches */    (void)action;    (void)seed;}
开发者ID:abh,项目名称:ezmlm-idx,代码行数:57,


示例6: string_quote

int string_quote (stralloc *sa, char const *s, unsigned int len){  unsigned int base = sa->len ;  int wasnull = !sa->s ;  if (!stralloc_catb(sa, "/"", 1)) return 0 ;  if (!string_quote_nodelim(sa, s, len) || !stralloc_catb(sa, "/"", 1))  {    if (wasnull) stralloc_free(sa) ; else sa->len = base ;    return 0 ;  }  return 1 ;}
开发者ID:fvigotti,项目名称:skalibs,代码行数:12,


示例7: env_val

static int env_val(const char *env,const char *val,int len) {  if (envsa) {    if (!stralloc_cats(envsa,env)) return 0;    if (!stralloc_catb(envsa,"=",1)) return 0;    if (!stralloc_catb(envsa,val,len)) return 0;    if (!stralloc_0(envsa)) return 0;    return 1;  }  if (!stralloc_copyb(&etemp,val,len)) return 0;  if (!stralloc_0(&etemp)) return 0;  return pathexec_env(env,etemp.s);}
开发者ID:Safari77,项目名称:ucspi-ssl-fehcom,代码行数:12,


示例8: _searchlog

/* Searches the subscriber log and outputs via subwrite(s,len) any entry * that matches search. A '_' is search is a wildcard. Any other * non-alphanum/'.' char is replaced by a '_'. */static void _searchlog(struct subdbinfo *info,                       const char *table,                       char *search,		/* search string */                       int subwrite())		/* output fxn */{    sqlite3_stmt *stmt;    int res;    datetime_sec when;    struct datetime dt;    char date[DATE822FMT];    /* SELECT (*) FROM list_slog WHERE fromline LIKE '%search%' OR address   */    /* LIKE '%search%' ORDER BY tai; */    /* The '*' is formatted to look like the output of the non-mysql version */    /* This requires reading the entire table, since search fields are not   */    /* indexed, but this is a rare query and time is not of the essence.     */    if (!stralloc_copys(&line,"SELECT tai, edir||etype||' '||address||' '||fromline"                        " FROM ")) die_nomem();    if (!stralloc_cat_table(&line,info,table)) die_nomem();    if (!stralloc_cats(&line,"_slog")) die_nomem();    if (*search) {	/* We can afford to wait for LIKE '%xx%' */        if (!stralloc_cats(&line," WHERE fromline LIKE '%")) die_nomem();        if (!stralloc_cats(&line,search)) die_nomem();        if (!stralloc_cats(&line,"%' OR address LIKE '%")) die_nomem();        if (!stralloc_cats(&line,search)) die_nomem();        if (!stralloc_cats(&line,"%'")) die_nomem();    }	/* ordering by tai which is an index */    if (!stralloc_cats(&line," ORDER by tai")) die_nomem();    if (!stralloc_0(&line)) die_nomem();    if ((stmt = _sqlquery(info, &line)) == NULL)        strerr_die2x(111,FATAL,sqlite3_errmsg((sqlite3*)info->conn));    while ((res = sqlite3_step(stmt)) != SQLITE_DONE) {        if (res != SQLITE_ROW)            strerr_die2x(111,FATAL,sqlite3_errmsg((sqlite3*)info->conn));        (void)scan_ulong((const char*)sqlite3_column_text(stmt,0),&when);        datetime_tai(&dt,when);        if (!stralloc_copyb(&line,date,date822fmt(date,&dt)-1)) die_nomem();        if (!stralloc_cats(&line,": ")) die_nomem();        if (!stralloc_catb(&line,strnum,fmt_ulong(strnum,when))) die_nomem();        if (!stralloc_cats(&line," ")) die_nomem();        if (!stralloc_catb(&line,                           (const char*)sqlite3_column_text(stmt,1),                           sqlite3_column_bytes(stmt,1)))            die_nomem();        if (subwrite(line.s,line.len) == -1) die_write();    }    sqlite3_finalize(stmt);}
开发者ID:abh,项目名称:ezmlm-idx,代码行数:56,


示例9: ftrig1_make

int ftrig1_make (ftrig1 *f, char const *path){  ftrig1 ff = FTRIG1_ZERO ;  unsigned int pathlen = str_len(path) ;  int e = 0 ;  char tmp[pathlen + 46 + FTRIG1_PREFIXLEN] ;    byte_copy(tmp, pathlen, path) ;  tmp[pathlen] = '/' ; tmp[pathlen+1] = '.' ;  byte_copy(tmp + pathlen + 2, FTRIG1_PREFIXLEN, FTRIG1_PREFIX) ;  tmp[pathlen + 2 + FTRIG1_PREFIXLEN] = ':' ;  if (!timestamp(tmp + pathlen + 3 + FTRIG1_PREFIXLEN)) return 0 ;  tmp[pathlen + 28 + FTRIG1_PREFIXLEN] = ':' ;  if (random_name(tmp + pathlen + 29 + FTRIG1_PREFIXLEN, 16) < 16) return 0 ;  tmp[pathlen + 45 + FTRIG1_PREFIXLEN] = 0 ;    {    mode_t m = umask(0) ;    if (fifo_make(tmp, S_IRUSR|S_IWUSR|S_IWGRP|S_IWOTH) == -1)    {      umask(m) ;      return 0 ;    }    umask(m) ;  }  if (!stralloc_catb(&ff.name, tmp, pathlen+1)) { e = errno ; goto err0 ; }  if (!stralloc_catb(&ff.name, tmp + pathlen + 2, FTRIG1_PREFIXLEN + 44))  {    e = errno ; goto err1 ;  }  ff.fd = open_read(tmp) ;  if (ff.fd == -1) { e = errno ; goto err1 ; }  ff.fdw = open_write(tmp) ;  if (ff.fdw == -1) { e = errno ; goto err2 ; }  if (rename(tmp, ff.name.s) == -1) goto err3 ;  *f = ff ;  return 1 ; err3:  e = errno ;  fd_close(ff.fdw) ; err2:  fd_close(ff.fd) ; err1:  stralloc_free(&ff.name) ; err0:  unlink(tmp) ;  errno = e ;  return 0 ;}
开发者ID:Jubei-Mitsuyoshi,项目名称:aaa-stage-0,代码行数:51,


示例10: dns_ip6_4mapped

int dns_ip6_4mapped(stralloc *out,stralloc *fqdn) {  stralloc tmp={0};  int i;  int result=dns_ip4(&tmp,fqdn);  if (result==0) {    for (i = 0;i + 4 <= tmp.len;i += 4) {      stralloc_catb(out,(char *)V4mappedprefix,12);      stralloc_catb(out,tmp.s + i,4);    }    alloc_free(tmp.s);    return 0;  }  return -1;}
开发者ID:mdornseif,项目名称:ddns,代码行数:14,


示例11: dns_domain_todot_cat

int dns_domain_todot_cat(stralloc *out,const char *d){  char ch;  char ch2;  unsigned char ch3;  char buf[4];  if (!*d)    return stralloc_append(out,".");  for (;;) {    ch = *d++;    while (ch--) {      ch2 = *d++;      if ((ch2 >= 'A') && (ch2 <= 'Z'))	ch2 = (char)(ch2 + 32);      if (((ch2 >= 'a') && (ch2 <= 'z')) || ((ch2 >= '0') && (ch2 <= '9')) || (ch2 == '-') || (ch2 == '_')) {        if (!stralloc_append(out,&ch2)) return 0;      }      else {	ch3 = (unsigned char)ch2;	buf[3] = (char)('0' + (ch3 & 7)); ch3 >>= 3;	buf[2] = (char)('0' + (ch3 & 7)); ch3 >>= 3;	buf[1] = (char)('0' + (ch3 & 7));	buf[0] = '//';	if (!stralloc_catb(out,buf,4)) return 0;      }    }    if (!*d) return 1;    if (!stralloc_append(out,".")) return 0;  }}
开发者ID:djbtao,项目名称:libowfat,代码行数:32,


示例12: tdlookup_init

int tdlookup_init(void){  char *x;  char ch;  int i;  int j;  int k;  x = env_get("LAME_A");  if (x)    if (!ip4_scan(x,lameip))      byte_zero(lameip,4);  x = env_get("LAME_MX");  if (x)    if (!dns_domain_fromdot(&lamemx,x,str_len(x)))      return 0;  x = env_get("LAME_TXT");  if (x) {    i = 0;    j = str_len(x);    while (i < j) {      k = j - i;      if (k > 255) k = 255;      ch = k;      if (!stralloc_append(&lametxt,&ch)) return 0;      if (!stralloc_catb(&lametxt,x + i,k)) return 0;      i += k;    }  }  return 1;}
开发者ID:gislik,项目名称:djbdns-1.05g,代码行数:34,


示例13: stralloc_copyb

int stralloc_copyb(stralloc *r, const void *xv, long long xlen) {    if (!r) { errno = EINVAL; return 0; }    r->len = 0;    return stralloc_catb(r, xv, xlen);}
开发者ID:stribika,项目名称:curveprotect,代码行数:7,


示例14: doname

void doname(stralloc *sa){  static char *d;  dpos = dns_packet_getname(data,dlen,dpos,&d);  if (!dpos) die_cdbread();  if (!stralloc_catb(sa,d,dns_domain_length(d))) nomem();}
开发者ID:carriercomm,项目名称:tinydnssec,代码行数:7,


示例15: main

int main (int argc, char const *const *argv){  stralloc sa = STRALLOC_ZERO ;  unsigned int n = 8 ;  PROG = "s6-uniquename" ;  {    subgetopt_t l = SUBGETOPT_ZERO ;    for (;;)    {      register int opt = subgetopt_r(argc, argv, "n:", &l) ;      if (opt == -1) break ;      switch (opt)      {        case 'n' : if (!uint0_scan(l.arg, &n)) usage() ; break ;        default : usage() ;      }    }    argc -= l.ind ; argv += l.ind ;  }  if (argc < 1) usage() ;  if (!stralloc_cats(&sa, argv[0])) strerr_diefu1sys(111, "stralloc_cats") ;  if ((n ? random_sauniquename(&sa, n) : sauniquename(&sa)) < 0)    strerr_diefu1sys(111, "make unique name") ;  if (!stralloc_catb(&sa, "/n", 1)) strerr_diefu1sys(111, "stralloc_cats") ;  if (allwrite(1, sa.s, sa.len) < sa.len) strerr_diefu1sys(111, "write to stdout") ;  return 0 ;}
开发者ID:matya,项目名称:s6-portable-utils,代码行数:27,


示例16: dns_ip4_packet

int dns_ip4_packet(stralloc *out,const char *buf,unsigned int len){  unsigned int pos;  char header[12];  uint16 numanswers;  uint16 datalen;  if (!stralloc_copys(out,"")) return -1;  pos = dns_packet_copy(buf,len,0,header,12); if (!pos) return -1;  uint16_unpack_big(header + 6,&numanswers);  pos = dns_packet_skipname(buf,len,pos); if (!pos) return -1;  pos += 4;  while (numanswers--) {    pos = dns_packet_skipname(buf,len,pos); if (!pos) return -1;    pos = dns_packet_copy(buf,len,pos,header,10); if (!pos) return -1;    uint16_unpack_big(header + 8,&datalen);    if (byte_equal(header,2,DNS_T_A))      if (byte_equal(header + 2,2,DNS_C_IN))        if (datalen == 4) {	  if (!dns_packet_copy(buf,len,pos,header,4)) return -1;	  if (!stralloc_catb(out,header,4)) return -1;	}    pos += datalen;  }  dns_sortip(out->s,out->len);  return 0;}
开发者ID:GunioRobot,项目名称:djbdns,代码行数:30,


示例17: dateline

int dateline(stralloc *dt, unsigned long d)/* converts yyyymm from unsigned long d to text dt */{  const char *mo;  switch (d % 100) {    case 1: mo = "January"; break;    case 2: mo = "February"; break;    case 3: mo = "March"; break;    case 4: mo = "April"; break;    case 5: mo = "May"; break;    case 6: mo = "June"; break;    case 7: mo = "July"; break;    case 8: mo = "August"; break;    case 9: mo = "September"; break;    case 10: mo = "October"; break;    case 11: mo = "November"; break;    case 12: mo = "December"; break;    case 0: mo = "????"; break;    default: cgierr("I don't know any month > 12",		"","");  }  if (!stralloc_copys(dt,mo)) return -1;  if (!stralloc_cats(dt," ")) return -1;  if ((d/100)) {    if (!stralloc_catb(dt,strnum,fmt_ulong(strnum,d/100))) return -1;  } else    if (!stralloc_cats(dt,"????")) return 0;  return 1;}
开发者ID:kunishi,项目名称:qmail-hg,代码行数:29,


示例18: dns_mx_packet

int dns_mx_packet(stralloc *out,const char *buf,unsigned int len){  unsigned int pos;  char header[12];  char pref[2];  uint16 numanswers;  uint16 datalen;  if (!stralloc_copys(out,"")) return -1;  pos = dns_packet_copy(buf,len,0,header,12); if (!pos) return -1;  uint16_unpack_big(header + 6,&numanswers);  pos = dns_packet_skipname(buf,len,pos); if (!pos) return -1;  pos += 4;  while (numanswers--) {    pos = dns_packet_skipname(buf,len,pos); if (!pos) return -1;    pos = dns_packet_copy(buf,len,pos,header,10); if (!pos) return -1;    uint16_unpack_big(header + 8,&datalen);    if (byte_equal(header,2,DNS_T_MX))      if (byte_equal(header + 2,2,DNS_C_IN)) {	if (!dns_packet_copy(buf,len,pos,pref,2)) return -1;	if (!dns_packet_getname(buf,len,pos + 2,&q)) return -1;	if (!stralloc_catb(out,pref,2)) return -1;	if (!dns_domain_todot_cat(out,q)) return -1;	if (!stralloc_0(out)) return -1;      }    pos += datalen;  }  return 0;}
开发者ID:darcyg,项目名称:chaosircd,代码行数:32,


示例19: decode_srs

static int decode_srs(const char *s){  /* Format: [email
C++ stralloc_cats函数代码示例
C++ stralloc_0函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。