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

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

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

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

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

示例1: dns_address_from_rr

dns_address *dns_address_from_rr(dns_answer *dnsa, dns_record *rr){dns_address * yield = NULL;uschar * dnsa_lim = dnsa->answer + dnsa->answerlen;if (rr->type == T_A)  {  uschar *p = US rr->data;  if (p + 4 <= dnsa_lim)    {    yield = store_get(sizeof(dns_address) + 20);    (void)sprintf(CS yield->address, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);    yield->next = NULL;    }  }#if HAVE_IPV6else  {  if (rr->data + 16 <= dnsa_lim)    {    yield = store_get(sizeof(dns_address) + 50);    inet_ntop(AF_INET6, US rr->data, CS yield->address, 50);    yield->next = NULL;    }  }#endif  /* HAVE_IPV6 */return yield;}
开发者ID:loganaden,项目名称:exim,代码行数:32,


示例2: dns_address_from_rr

dns_address *dns_address_from_rr(dns_answer *dnsa, dns_record *rr){dns_address *yield = NULL;dnsa = dnsa;    /* Stop picky compilers warning */if (rr->type == T_A)  {  uschar *p = (uschar *)(rr->data);  yield = store_get(sizeof(dns_address) + 20);  (void)sprintf(CS yield->address, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);  yield->next = NULL;  }#if HAVE_IPV6else  {  yield = store_get(sizeof(dns_address) + 50);  inet_ntop(AF_INET6, (uschar *)(rr->data), CS yield->address, 50);  yield->next = NULL;  }#endif  /* HAVE_IPV6 */return yield;}
开发者ID:Chaohua,项目名称:exim,代码行数:27,


示例3: tls_import_cert

inttls_import_cert(const uschar * buf, void ** cert){    void * reset_point = store_get(0);    gnutls_datum_t datum;    gnutls_x509_crt_t crt = *(gnutls_x509_crt_t *)cert;    int fail = 0;    if (crt)        gnutls_x509_crt_deinit(crt);    else        gnutls_global_init();    gnutls_x509_crt_init(&crt);    datum.data = string_unprinting(US buf);    datum.size = Ustrlen(datum.data);    if ((fail = gnutls_x509_crt_import(crt, &datum, GNUTLS_X509_FMT_PEM)))    {        log_write(0, LOG_MAIN, "TLS error in certificate import: %s",                  gnutls_strerror(fail));        fail = 1;    }    else        *cert = (void *)crt;    store_reset(reset_point);    return fail;}
开发者ID:toddr,项目名称:exim,代码行数:29,


示例4: json_malloc

static void *json_malloc(size_t nbytes){void * p = store_get((int)nbytes);/* debug_printf("%s %d: %p/n", __FUNCTION__, (int)nbytes, p); */return p;}
开发者ID:Exim,项目名称:exim,代码行数:7,


示例5: compile

static pcre_list *compile(const uschar * list){int sep = 0;uschar *regex_string;const char *pcre_error;int pcre_erroffset;pcre_list *re_list_head = NULL;pcre_list *ri;/* precompile our regexes */while ((regex_string = string_nextinlist(&list, &sep, NULL, 0)))  if (strcmpic(regex_string, US"false") != 0 && Ustrcmp(regex_string, "0") != 0)    {    pcre *re;    /* compile our regular expression */    if (!(re = pcre_compile( CS regex_string,		       0, &pcre_error, &pcre_erroffset, NULL )))      {      log_write(0, LOG_MAIN,	   "regex acl condition warning - error in regex '%s': %s at offset %d, skipped.",	   regex_string, pcre_error, pcre_erroffset);      continue;      }    ri = store_get(sizeof(pcre_list));    ri->re = re;    ri->pcre_text = regex_string;    ri->next = re_list_head;    re_list_head = ri;    }return re_list_head;}
开发者ID:digideskio,项目名称:exim,代码行数:34,


示例6: eval_expr_binop

LONG_DOUBLE eval_expr_binop(eval_context *ctx, ast_node *tree) {    expr_binop_data *binop_data = (expr_binop_data*)tree->data;    switch (binop_data->op) {    case OP_ADD:        return eval_expr(ctx, binop_data->lhs) + eval_expr(ctx, binop_data->rhs);    case OP_SUB:        return eval_expr(ctx, binop_data->lhs) - eval_expr(ctx, binop_data->rhs);    case OP_MUL:        return eval_expr(ctx, binop_data->lhs) * eval_expr(ctx, binop_data->rhs);    case OP_DIV:        return eval_expr(ctx, binop_data->lhs) / eval_expr(ctx, binop_data->rhs);    case OP_MOD: {        // Knuthsche "floored division"        LONG_DOUBLE a = eval_expr(ctx, binop_data->lhs);        LONG_DOUBLE n = eval_expr(ctx, binop_data->rhs);        return a-n*floor(a/n);    }    case OP_EXP:        return pow(eval_expr(ctx, binop_data->lhs), eval_expr(ctx, binop_data->rhs));    case OP_ASS: {        if (binop_data->lhs->type != EXPR_VAR) return eval_emit_error(ctx, "Cannot assign to a non-variable.");        else {            expr_var_data *var_data = (expr_var_data*)binop_data->lhs->data;            LONG_DOUBLE rhs_res = eval_expr(ctx, binop_data->rhs);            store_var(store_get(), var_data->name, rhs_res);            return rhs_res;        }    }    default: return eval_emit_error(ctx, "Operator not implemented.");    }}
开发者ID:patmanteau,项目名称:iclc,代码行数:31,


示例7: pdkim_decode_qp

static uschar *pdkim_decode_qp(uschar * str){int nchar = 0;uschar * q;uschar * p = str;uschar * n = store_get(Ustrlen(str)+1);*n = '/0';q = n;while (*p)  {  if (*p == '=')    {    p = pdkim_decode_qp_char(p, &nchar);    if (nchar >= 0)      {      *q++ = nchar;      continue;      }    }  else    *q++ = *p;  p++;  }*q = '/0';return n;}
开发者ID:ytrezq,项目名称:exim,代码行数:28,


示例8: read_nonrecipients_tree

static BOOLread_nonrecipients_tree(tree_node **connect, FILE *f, uschar *buffer,  int buffer_size){tree_node *node;int n = Ustrlen(buffer);BOOL right = buffer[1] == 'Y';if (n < 5) return FALSE;    /* malformed line */buffer[n-1] = 0;            /* Remove /n */node = store_get(sizeof(tree_node) + n - 3);*connect = node;Ustrcpy(node->name, buffer + 3);node->data.ptr = NULL;if (buffer[0] == 'Y')  {  if (Ufgets(buffer, buffer_size, f) == NULL ||    !read_nonrecipients_tree(&node->left, f, buffer, buffer_size))      return FALSE;  }else node->left = NULL;if (right)  {  if (Ufgets(buffer, buffer_size, f) == NULL ||    !read_nonrecipients_tree(&node->right, f, buffer, buffer_size))      return FALSE;  }else node->right = NULL;(void) count_below(*connect);return TRUE;}
开发者ID:digideskio,项目名称:exim,代码行数:34,


示例9: string_localpart_alabel_to_utf8

uschar *string_localpart_alabel_to_utf8(const uschar * alabel, uschar ** err){size_t p_len = Ustrlen(alabel);punycode_uint * p;uschar * s;uschar * res;int rc;if (alabel[0] != 'x' || alabel[1] != 'n' || alabel[2] != '-' || alabel[3] != '-')  {  if (err) *err = US"bad alabel prefix";  return NULL;  }p_len -= 4;p = (punycode_uint *) store_get((p_len+1) * sizeof(*p));if ((rc = punycode_decode(p_len, CCS alabel+4, &p_len, p, NULL)) != PUNYCODE_SUCCESS)  {  if (err) *err = US punycode_strerror(rc);  return NULL;  }s = US stringprep_ucs4_to_utf8(p, p_len, NULL, &p_len);res = string_copyn(s, p_len);free(s);return res;}
开发者ID:CforED,项目名称:Exim-Development-Repository,代码行数:29,


示例10: auth_xtextencode

uschar *auth_xtextencode(uschar *clear, int len){uschar *code;uschar *p = (uschar *)clear;uschar *pp;int c = len;int count = 1;register int x;/* We have to do a prepass to find out how many specials there are,in order to get the right amount of store. */while (c -- > 0)  count += ((x = *p++) < 33 || x > 127 || x == '+' || x == '=')? 3 : 1;pp = code = store_get(count);p = (uschar *)clear;c = len;while (c-- > 0)  {  if ((x = *p++) < 33 || x > 127 || x == '+' || x == '=')    {    sprintf(CS pp, "+%.02x", x);   /* There's always room */    pp += 3;    }  else *pp++ = x;  }*pp = 0;return code;}
开发者ID:KMU-embedded,项目名称:mosbench-ext,代码行数:33,


示例11: tls_cert_ext_by_oid

uschar *tls_cert_ext_by_oid(void * cert, uschar * oid, int idx){    uschar * cp1 = NULL;    uschar * cp2;    uschar * cp3;    size_t siz = 0;    unsigned int crit;    int ret;    ret = gnutls_x509_crt_get_extension_by_oid ((gnutls_x509_crt_t)cert,            oid, idx, cp1, &siz, &crit);    if (ret != GNUTLS_E_SHORT_MEMORY_BUFFER)        return g_err("ge0", __FUNCTION__, ret);    cp1 = store_get(siz*4 + 1);    ret = gnutls_x509_crt_get_extension_by_oid ((gnutls_x509_crt_t)cert,            oid, idx, cp1, &siz, &crit);    if (ret < 0)        return g_err("ge1", __FUNCTION__, ret);    /* binary data, DER encoded */    /* just dump for now */    for(cp3 = cp2 = cp1+siz; cp1 < cp2; cp3 += 3, cp1++)        sprintf(cp3, "%.2x ", *cp1);    cp3[-1]= '/0';    return cp2;}
开发者ID:toddr,项目名称:exim,代码行数:31,


示例12: string_copy_dnsdomain

uschar *string_copy_dnsdomain(uschar *s){    uschar *yield;    uschar *ss = yield = store_get(Ustrlen(s) + 1);    while (*s != 0)    {        if (*s != '//')        {            *ss++ = *s++;        }        else if (isdigit(s[1]))        {            *ss++ = (s[1] - '0')*100 + (s[2] - '0')*10 + s[3] - '0';            s += 4;        }        else if (*(++s) != 0)        {            *ss++ = *s++;        }    }    *ss = 0;    return yield;}
开发者ID:Exim,项目名称:exim,代码行数:26,


示例13: headersAction

static void headersAction(Widget w, XtPointer client_data, XtPointer call_data){uschar buffer[256];header_line *h, *next;Widget text = text_create(US client_data, text_depth);void *reset_point;w = w;      /* Keep picky compilers happy */call_data = call_data;/* Remember the point in the dynamic store so we can recover to it afterwards.Then use Exim's function to read the header. */reset_point = store_get(0);sprintf(CS buffer, "%s-H", US client_data);if (spool_read_header(buffer, TRUE, FALSE) != spool_read_OK)  {  if (errno == ERRNO_SPOOLFORMAT)    {    struct stat statbuf;    sprintf(CS big_buffer, "%s/input/%s", spool_directory, buffer);    if (Ustat(big_buffer, &statbuf) == 0)      text_showf(text, "Format error in spool file %s: size=%d/n", buffer,        statbuf.st_size);    else text_showf(text, "Format error in spool file %s/n", buffer);    }  else text_showf(text, "Read error for spool file %s/n", buffer);  store_reset(reset_point);  return;  }if (sender_address != NULL)  {  text_showf(text, "%s sender: <%s>/n", f.sender_local ? "Local" : "Remote",    sender_address);  }if (recipients_list != NULL)  {  int i;  text_show(text, US"Recipients:/n");  for (i = 0; i < recipients_count; i++)    {    text_showf(text, "  %s %s/n",      (tree_search(tree_nonrecipients, recipients_list[i].address) == NULL)?        " ":"*", recipients_list[i].address);    }  text_show(text, US"/n");  }for (h = header_list; h != NULL; h = next)  {  next = h->next;  text_showf(text, "%c ", h->type);   /* Don't push h->text through a %s */  text_show(text, h->text);           /* expansion as it may be v large */  }store_reset(reset_point);}
开发者ID:Exim,项目名称:exim,代码行数:60,


示例14: rfc2047_qpdecode

static intrfc2047_qpdecode(uschar *string, uschar **ptrptr){int len = 0;uschar *ptr;ptr = *ptrptr = store_get(Ustrlen(string) + 1);  /* No longer than this */while (*string != 0)  {  int ch = *string++;  if (ch == '_') *ptr++ = ' ';  else if (ch == '=')    {    int a = *string;    int b = (a == 0)? 0 : string[1];    if (!isxdigit(a) || !isxdigit(b)) return -1;  /* Bad QP string */    *ptr++ = ((Ustrchr(hex_digits, tolower(a)) - hex_digits) << 4) +               Ustrchr(hex_digits, tolower(b)) - hex_digits;    string += 2;    }  else if (ch == ' ' || ch == '/t') return -1;    /* Whitespace is illegal */  else *ptr++ = ch;  len++;  }*ptr = 0;return len;}
开发者ID:Exim,项目名称:exim,代码行数:31,


示例15: string_localpart_utf8_to_alabel

uschar *string_localpart_utf8_to_alabel(const uschar * utf8, uschar ** err){size_t ucs4_len;punycode_uint * p;size_t p_len;uschar * res;int rc;if (!string_is_utf8(utf8)) return string_copy(utf8);p = (punycode_uint *) stringprep_utf8_to_ucs4(CCS utf8, -1, &ucs4_len);p_len = ucs4_len*4;	/* this multiplier is pure guesswork */res = store_get(p_len+5);res[0] = 'x'; res[1] = 'n'; res[2] = res[3] = '-';if ((rc = punycode_encode(ucs4_len, p, NULL, &p_len, CS res+4)) != PUNYCODE_SUCCESS)  {  DEBUG(D_expand) debug_printf("l_u2a: bad '%s'/n", punycode_strerror(rc));  free(p);  if (err) *err = US punycode_strerror(rc);  return NULL;  }p_len += 4;free(p);res[p_len] = '/0';return res;}
开发者ID:Exim,项目名称:exim,代码行数:29,


示例16: string_copyn

uschar *string_copyn(const uschar *s, int n){    uschar *ss = store_get(n + 1);    Ustrncpy(ss, s, n);    ss[n] = 0;    return ss;}
开发者ID:Exim,项目名称:exim,代码行数:8,


示例17: tree_add_nonrecipient

voidtree_add_nonrecipient(uschar *s){tree_node *node = store_get(sizeof(tree_node) + Ustrlen(s));Ustrcpy(node->name, s);node->data.ptr = NULL;if (!tree_insertnode(&tree_nonrecipients, node)) store_reset(node);}
开发者ID:fanf2,项目名称:exim,代码行数:8,


示例18: string_copy

uschar *string_copy(const uschar *s){    int len = Ustrlen(s) + 1;    uschar *ss = store_get(len);    memcpy(ss, s, len);    return ss;}
开发者ID:Exim,项目名称:exim,代码行数:8,


示例19: tree_add_duplicate

voidtree_add_duplicate(uschar *s, address_item *addr){tree_node *node = store_get(sizeof(tree_node) + Ustrlen(s));Ustrcpy(node->name, s);node->data.ptr = addr;if (!tree_insertnode(&tree_duplicates, node)) store_reset(node);}
开发者ID:fanf2,项目名称:exim,代码行数:8,


示例20: string_copylc

uschar *string_copylc(const uschar *s){    uschar *ss = store_get(Ustrlen(s) + 1);    uschar *p = ss;    while (*s != 0) *p++ = tolower(*s++);    *p = 0;    return ss;}
开发者ID:Exim,项目名称:exim,代码行数:9,


示例21: string_copynlc

uschar *string_copynlc(uschar *s, int n){    uschar *ss = store_get(n + 1);    uschar *p = ss;    while (n-- > 0) *p++ = tolower(*s++);    *p = 0;    return ss;}
开发者ID:Exim,项目名称:exim,代码行数:9,


示例22: os_common_find_running_interfaces

ip_address_item *os_common_find_running_interfaces(void){ip_address_item *yield = store_get(sizeof(address_item));yield->address = US"127.0.0.1";yield->port = 0;yield->next = NULL;#if HAVE_IPV6yield->next = store_get(sizeof(address_item));yield->next->address = US"::1";yield->next->port = 0;yield->next->next = NULL;#endifDEBUG(D_interface) debug_printf("Unable to find local interface addresses "  "on this OS: returning loopback address(es)/n");return yield;}
开发者ID:KMU-embedded,项目名称:mosbench-ext,代码行数:19,


示例23: pdkim_prepend_stringlist

static pdkim_stringlist *pdkim_prepend_stringlist(pdkim_stringlist * base, const uschar * str){pdkim_stringlist * new_entry = store_get(sizeof(pdkim_stringlist));memset(new_entry, 0, sizeof(pdkim_stringlist));new_entry->value = string_copy(str);if (base) new_entry->next = base;return new_entry;}
开发者ID:ytrezq,项目名称:exim,代码行数:10,


示例24: tree_add_unusable

voidtree_add_unusable(host_item *h){tree_node *node;uschar s[256];sprintf(CS s, "T:%.200s:%s", h->name, h->address);node = store_get(sizeof(tree_node) + Ustrlen(s));Ustrcpy(node->name, s);node->data.val = h->why;if (h->status == hstatus_unusable_expired) node->data.val += 256;if (!tree_insertnode(&tree_unusable, node)) store_reset(node);}
开发者ID:fanf2,项目名称:exim,代码行数:12,


示例25: string_dequote

uschar *string_dequote(const uschar **sptr){    const uschar *s = *sptr;    uschar *t, *yield;    /* First find the end of the string */    if (*s != '/"')    {        while (*s != 0 && !isspace(*s)) s++;    }    else    {        s++;        while (*s != 0 && *s != '/"')        {            if (*s == '//') (void)string_interpret_escape(&s);            s++;        }        if (*s != 0) s++;    }    /* Get enough store to copy into */    t = yield = store_get(s - *sptr + 1);    s = *sptr;    /* Do the copy */    if (*s != '/"')    {        while (*s != 0 && !isspace(*s)) *t++ = *s++;    }    else    {        s++;        while (*s != 0 && *s != '/"')        {            if (*s == '//') *t++ = string_interpret_escape(&s);            else *t++ = *s;            s++;        }        if (*s != 0) s++;    }    /* Update the pointer and return the terminated copy */    *sptr = s;    *t = 0;    return yield;}
开发者ID:Exim,项目名称:exim,代码行数:52,


示例26: rda_read_string

static BOOLrda_read_string(int fd, uschar **sp){int len;if (read(fd, &len, sizeof(int)) != sizeof(int)) return FALSE;if (len == 0) *sp = NULL; else  {  *sp = store_get(len);  if (read(fd, *sp, len) != len) return FALSE;  }return TRUE;}
开发者ID:toddr,项目名称:exim,代码行数:13,


示例27: string_unprinting

uschar *string_unprinting(uschar *s){    uschar *p, *q, *r, *ss;    int len, off;    p = Ustrchr(s, '//');    if (!p) return s;    len = Ustrlen(s) + 1;    ss = store_get(len);    q = ss;    off = p - s;    if (off)    {        memcpy(q, s, off);        q += off;    }    while (*p)    {        if (*p == '//')        {            *q++ = string_interpret_escape((const uschar **)&p);            p++;        }        else        {            r = Ustrchr(p, '//');            if (!r)            {                off = Ustrlen(p);                memcpy(q, p, off);                p += off;                q += off;                break;            }            else            {                off = r - p;                memcpy(q, p, off);                q += off;                p = r;            }        }    }    *q = '/0';    return ss;}
开发者ID:Exim,项目名称:exim,代码行数:51,


示例28: store_get

/* * Given a C string, make sure it's safe to pass to a  * printf-style function ('%' chars are escaped by doubling  * them up.  Optionally, also make sure the string ends with a '/n' */static char *get_format_string(char *str, int need_newline)    {    char *p;    char *q;    char *newstr;    int percent_count;    int len;    /* Count number of '%' characters in string, and get the total length while at it */     for (p = str, percent_count = 0; *p; p++)        if (*p == '%')            percent_count++;    len = p - str;    /* Decide if we need a newline added */    if (need_newline)        {        if (len && (*(p-1) == '/n'))            need_newline = 0;        else            need_newline = 1; /* paranoia - just in case something other than 1 was used to indicate truth */        }    /* If it's all good, just return the string we were passed */    if ((!percent_count) && (!need_newline))        return str;    /* Gotta make a new string, with '%'s and/or '/n' added */    newstr = store_get(len + percent_count + need_newline + 1);    for (p = str, q = newstr; *p; p++, q++)        {        *q = *p;        if (*q == '%')            {            q++;               *q = '%';            }        }    if (need_newline)        {        *q = '/n';        q++;        }    *q = 0;    return newstr;    }
开发者ID:barryp,项目名称:py-exim-localscan,代码行数:55,


示例29: rf_change_domain

voidrf_change_domain(address_item *addr, uschar *domain, BOOL rewrite,  address_item **addr_new){address_item *parent = store_get(sizeof(address_item));uschar *at = Ustrrchr(addr->address, '@');uschar *address = string_sprintf("%.*[email
C++ store_unsigned_integer函数代码示例
C++ store_bridge_parm函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。