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

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

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

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

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

示例1: LM_ERR

struct rtpp_node *rtpengine_hash_table_lookup(str callid, str viabranch, enum rtpe_operation op) {	struct rtpengine_hash_entry *entry, *last_entry;	unsigned int hash_index;	struct rtpp_node *node;	// sanity checks	if (!rtpengine_hash_table_sanity_checks()) {		LM_ERR("sanity checks failed/n");		return 0;	}	// get first entry from entry list; jump over unused list head	hash_index = str_hash(callid);	entry = rtpengine_hash_table->row_entry_list[hash_index];	last_entry = entry;	// lock	if (rtpengine_hash_table->row_locks[hash_index]) {		lock_get(rtpengine_hash_table->row_locks[hash_index]);	} else {		LM_ERR("NULL rtpengine_hash_table->row_locks[%d]/n", hash_index);		return 0;	}	while (entry) {		// if callid found, return entry		if ((str_equal(entry->callid, callid) && str_equal(entry->viabranch, viabranch)) ||		    (str_equal(entry->callid, callid) && viabranch.len == 0 && op == OP_DELETE)) {			node = entry->node;			// unlock			lock_release(rtpengine_hash_table->row_locks[hash_index]);			return node;		}		// if expired entry discovered, delete it		if (entry->tout < get_ticks()) {			// set pointers; exclude entry			last_entry->next = entry->next;			// free current entry; entry points to unknown			rtpengine_hash_table_free_entry(entry);			// set pointers			entry = last_entry;			// update total			rtpengine_hash_table->row_totals[hash_index]--;		}		last_entry = entry;		entry = entry->next;	}	// unlock	lock_release(rtpengine_hash_table->row_locks[hash_index]);	return NULL;}
开发者ID:GreenfieldTech,项目名称:kamailio,代码行数:60,


示例2: str_path_isabs

int str_path_isabs(const char *str){	int abs = 1;	if (str_isempty(str))		return 0;	if (*str != '/')		return 0;	strtok_t _st, *st = &_st, *p;	if (!strtok_init_str(st, str, "/", 0))		return -1;	strtok_for_each(st, p) {		if (str_equal(p->token, ".") || str_equal(p->token, "..") ||		    !str_isgraph(p->token)) {			abs = 0;			break;		}	}	strtok_free(st);	return abs;}
开发者ID:hollow,项目名称:lucid,代码行数:27,


示例3: list

/*To check whether the current packet is in the cs list(/gamma)*/bool matched(char src[13], char dst[13], char  mac1[13],char mac2[13],int t){	if ( (str_equal(mac_zero,mac1,2*MAC_LEN) == 1) &&           (str_equal(mac_zero,mac2,2*MAC_LEN) == 1) )                return false;    // not vavid data	if ((control_address(mac1) == 1) &&	   (  (str_equal(mac2,src,2*MAC_LEN) == 1)||(str_equal(mac2,dst,2*MAC_LEN) == 1) ))	{		return true;	}	if ((control_address(mac2) == 1) &&	   (  (str_equal(mac1,src,2*MAC_LEN) == 1)||(str_equal(mac1,dst,2*MAC_LEN) == 1) ))	{		return true;	}			if ( (str_equal(mac1,src,2*MAC_LEN) == 1) &&           (str_equal(mac2,dst,2*MAC_LEN) == 1) )	{		return true;	}        if ( (str_equal(mac1,dst,2*MAC_LEN) == 1) &&           (str_equal(mac2,src,2*MAC_LEN) == 1) )	{		return true;	}        return false;}
开发者ID:chowp,项目名称:mac80211,代码行数:31,


示例4: main

int main(int argc, char** argv) {  STR s1 = "abcd";  STR s2 = "1234";  if (str_equal(s1,s1) == NO)    return 1;  if (str_equal(s1,s2) == YES)    return 2;  return 0;}
开发者ID:bocchino,项目名称:SoftwareTools,代码行数:9,


示例5: packet

/*To judge whether the current packet are broadcast, cts, ack or control packet(/gamma)*/bool control_address(char mac1[13]){ 	if (str_equal(mac_zero,mac1,2*MAC_LEN) == 1)                return true; 	if (str_equal(mac_FFFF,mac1,2*MAC_LEN) == 1)                return true; 	if (str_equal(mac_ffff,mac1,2*MAC_LEN) == 1)                return true;        return false;}
开发者ID:chowp,项目名称:mac80211,代码行数:12,


示例6: process_command

void process_command() {  int command_ptr  = 0;  initialize_array(command, 80, 0);  copy_string(command, buffer + C(current_line, 2));  initialize_array(argument, ARGUMENT_HEAP_SIZE, 0);  send_rs(command, 10);  next_line();  if (str_equal(c_exit, command, 4)) {    put_char('b');    put_char('y');    put_char('e');    send_display(buffer);    halt();  } else if (str_equal(c_cd, command, 3)) {    int length = copy_string(argument, command + 3);    change_directory(argument, length);  } else if (command[0] == 0) {    return;  } else {    int ptr = 0;    while (command[command_ptr] != ' '           && command[command_ptr] != 0           && command_ptr < COLS) {      int byte = command[command_ptr];      if (byte >= 'a' && byte <= 'z') {        byte -= 0x20;      }      program_name[ptr] = byte;      command_ptr += 1;      ptr += 1;    }    program_name[ptr] = 0;    while (command[command_ptr] == ' ' && command_ptr < COLS) {      command_ptr += 1;    }    ptr = 0;    while (command[command_ptr] != ' '           && command[command_ptr] != 0           && command_ptr < COLS) {      argument[ptr] = command[command_ptr];      command_ptr += 1;      ptr += 1;    }    argument[ptr] = 0;    argument[ARGUMENT_HEAP_SIZE-1] = current_directory_id;    execute_bin(program_name, argument);  }}
开发者ID:tomykaira,项目名称:mips,代码行数:56,


示例7: which_credit_total

/** * @details Given a status code, this function finds the correct index in  *          the credit_totals array member of the Ledger type. credit_totals *          is an array indexed by the transaction status given in the *          Status_Macros module. If no index is found for the given *          status code, NO_INDEX is returned. */index_t which_credit_total(char *status){  if(status == NULL)    return NO_INDEX;  if(str_equal(status, CREDIT_NOT_THERE_YET))     return I_NOT_THERE_YET;  else if(str_equal(status, CREDIT_PENDING))    return I_PENDING;  else if(str_equal(status, CREDIT_CHARGED))    return I_CLEARED;  else    return NO_INDEX;}
开发者ID:wlandau,项目名称:dynamic-ledger,代码行数:20,


示例8: main

intmain (int argc, char * const argv[]){    PROG = "aa-sync";    if (argc == 1)    {        sync ();        return 0;    }    if (argc == 2 && (str_equal (argv[1], "-V") || str_equal (argv[1], "--version")))        aa_die_version ();    dieusage ((argc == 2 && (str_equal (argv[1], "-h") || str_equal (argv[1], "--help"))) ? 0 : 1);}
开发者ID:jjk-jacky,项目名称:anopa,代码行数:15,


示例9: it_kill

static intit_kill (direntry *d, void *data){    stralloc *sa = data;    char c;    int l;    int r;    /* ignore files, not-number dirs, PID 1 and ourself */    if (d->d_type != DT_DIR || *d->d_name < '1' || *d->d_name > '9'            || str_equal (d->d_name, "1") || str_equal (d->d_name, ownpid))        return 0;    l = sa->len;    sa->s[l - 1] = '/';    if (stralloc_cats (sa, d->d_name)            && stralloc_catb (sa, "/cmdline", sizeof ("/cmdline")))        r = openreadnclose (sa->s, &c, 1);    else        r = -1;    sa->len = l;    sa->s[l - 1] = '/0';    /* skip empty cmdline (kernel threads) and anything starting with '@' */    if (r == 1 && c != '@')    {        unsigned int u;        pid_t pid;        if (!uint_scan (d->d_name, &u))            goto done;        pid = (pid_t) u;        if (pid != u)            goto done;        if (send.hup)            _kill (pid, SIGHUP);        if (send.term)        {            _kill (pid, SIGTERM);            _kill (pid, SIGCONT);        }        if (send.kill)            _kill (pid, SIGKILL);    }done:    return 0;}
开发者ID:linsam,项目名称:anopa,代码行数:48,


示例10: do_sc

static void do_sc(const char *action){  int r;  if (hashok(action,ACTION_SC)) {    if (modsub.s != 0 && !(ismod && str_equal(sender,target.s))) {      store_from(&fromline,target.s);	/* save from line, if requested */					/* since transaction not complete */      doconfirm(ACTION_TC);      copy_act("text/mod-sub-confirm");      copybottom(0);      sendtomods();    } else {      r = geton(action);      copybottom(0);      qmail_to(&qq,target.s);      if (r && flagcopyowner > 1) to_owner();    }  } else {    doconfirm(ACTION_SC);    copy_act("text/sub-bad");    copybottom(0);    qmail_to(&qq,target.s);  }}
开发者ID:chayapan-computing,项目名称:ezmlm-idx,代码行数:25,


示例11: test_equal

void test_equal(void) {    str test_a;    str test_b;    str_create_from_cstr(&test_a, "prepended_testdataappended_X");    str_create_from_cstr(&test_b, "prepended_testdataappended_X");    CU_ASSERT(str_equal(&test_a, &test_b) == 1);    str_free(&test_b);    str_create_from_cstr(&test_b, "awesome!");    CU_ASSERT(str_equal(&test_a, &test_b) == 0);    str_free(&test_b);    str_free(&test_a);}
开发者ID:omf2097,项目名称:openomf,代码行数:16,


示例12: stmt_if_alloc

stmt_ty *stmt_if_alloc(blob_list_ty *condition, stmt_ty *then_clause,    stmt_ty *else_clause){    stmt_if_ty      *result;    blob_list_ty    *c2;    table_ty        *tp;    trace(("stmt_if_alloc()/n{/n"));    result = (stmt_if_ty *)stmt_alloc(&method);    assert(condition->length >= 1);    for (tp = table; tp < ENDOF(table); ++tp)    {        if (!tp->fast)            tp->fast = str_from_c(tp->name);        if (str_equal(condition->list[0]->text, tp->fast))            break;    }    assert(tp < ENDOF(table));    if (tp >= ENDOF(table))        tp = &table[0];    c2 = tp->rewrite(condition, &result->ref);    blob_list_free(condition);    result->condition = c2;    result->then_clause = then_clause;    result->else_clause = else_clause;    stmt_variable_merge((stmt_ty *)result, then_clause);    if (else_clause)        stmt_variable_merge((stmt_ty *)result, else_clause);    trace(("}/n"));    return (stmt_ty *)result;}
开发者ID:cglinden,项目名称:autocook,代码行数:35,


示例13: getlarg

void getlarg(long *l) {  unsigned long ul;  if (str_equal(optarg, "=")) { *l =-1; return; }  if (optarg[scan_ulong(optarg, &ul)]) usage();  *l =ul;}
开发者ID:psi,项目名称:runit-gentoo,代码行数:7,


示例14: Shash_del

int Shash_del(T *hash, char *key){    int index, flag = 0;    NODE_T **p, *q;    BUCKET_T *bucket;    assert(key);    assert(hash);    index  = MOD(str_hash(key), hash->len);    bucket = &hash->buckets[index];    if (!bucket->list)        return -1;    p = &bucket->list;    do {        q = (*p)->next;        if (str_equal((*p)->key, key)) {            FREE(*p);            *p   = q;            flag = 1;            break;        }        p = &(*p)->next;    } while (q);    return flag? 0 : -1;}
开发者ID:hongwozai,项目名称:emms,代码行数:27,


示例15: enable_service

static intenable_service (const char *name, intptr_t from_next){    int offset;    int r;    int i;    if (*name == '/')        cur_name = name + byte_rchr (name, strlen (name), '/') + 1;    else        cur_name = name;    if (!from_next)    {        /* check if it was already added to be done next (via auto-enable), in         * which case we need to remove it.         * We do this instead of simply skipping it and having it done later         * because:         * - if there's a folder here, we want to use it as config folder         * - in upgrade mode, the auto-added are treated differently, so         *   anything specified needs to be treated now (even w/out folder)         */        for (i = 0; i < genalloc_len (int, &ga_next); ++i)            if (str_equal (cur_name, names.s + list_get (&ga_next, i)))            {                offset = list_get (&ga_next, i);                ga_remove (int, &ga_next, i);                goto process;            }        offset = names.len;        stralloc_catb (&names, cur_name, strlen (cur_name) + 1);    }
开发者ID:linsam,项目名称:anopa,代码行数:33,


示例16: OpenKey

 STDMETHODIMP voice_token::OpenKey(LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {   if(pszSubKeyName==0)     return E_INVALIDARG;   if(ppSubKey==0)     return E_POINTER;   *ppSubKey=0;   try     {       if(!str_equal(pszSubKeyName,L"Attributes"))         return SPERR_NOT_FOUND;       com::object<ISpDataKeyImpl > obj;       for(attribute_map::const_iterator it=attributes.begin();it!=attributes.end();++it)         {           obj->set(it->first,it->second);         }       com::interface_ptr<ISpDataKey> int_ptr(obj);       *ppSubKey=int_ptr.get();       return S_OK;     }   catch(const std::bad_alloc&)     {       return E_OUTOFMEMORY;     }   catch(...)     {       return E_UNEXPECTED;     } }
开发者ID:Olga-Yakovleva,项目名称:RHVoice,代码行数:29,


示例17: cook_implicit_nth_by_name

recipe_ty *cook_implicit_nth_by_name(long n, string_ty *name){    static string_ty *prev;    static recipe_list_ty *rlp;    if (!name)    {        /* used to clear the state between passes */        if (prev)            str_free(prev);        prev = 0;        rlp = 0;        return 0;    }    if (!prev || !str_equal(prev, name))    {        if (prev)            str_free(prev);        prev = str_copy(name);        rlp = cook_implicit_find(name);    }    if (n < 0 || (size_t) n >= rlp->nrecipes)        return 0;    return rlp->recipe[n];}
开发者ID:cglinden,项目名称:autocook,代码行数:26,


示例18: main

int main(int argc, char **argv) {    long long r,w;    if (argv[0])        if (argv[1])            if (str_equal(argv[1], "-h"))                die_usage();    for (;;) {        r = readblock(0, buf, BLOCK);        if (r == -1) die_fatal("unable to read input", 0);        for (;;) {            if (r <= 0) goto end;            if (buf[r - 1] == '/n') { --r; continue; }            if (buf[r - 1] == '/r') { --r; continue; }            break;        }        buf[r] = 0;        if (r % 2) { errno = 0; die_fatal("unable to decode from hex", 0); }        w = r / 2;        if (!hexparse(buf, w, (char *)buf)) { errno = 0; die_fatal("unable to decode from hex", 0); }        if (writeall(1, buf, w) == -1) die_fatal("unable to write output", 0);        if (r != BLOCK) break;    }end:    if (fsyncfd(1) == -1) die_fatal("unable to write output", 0);    _exit(0);}
开发者ID:stribika,项目名称:curveprotect,代码行数:31,


示例19: symtab_delete

voidsymtab_delete(symtab_ty *stp, string_ty *key){    str_hash_ty     idx;    symtab_row_ty   **pp;    trace(("symtab_delete(stp = %08lX, key = /"%s/")/n{/n",        (long)stp, key->str_text));    idx = key->str_hash & stp->hash_mask;    pp = &stp->hash_table[idx];    for (;;)    {        symtab_row_ty   *p;        p = *pp;        if (!p)            break;        if (str_equal(key, p->key))        {            if (stp->reap)                stp->reap(p->data);            str_free(p->key);            *pp = p->overflow;            mem_free(p);            stp->hash_load--;            break;        }        pp = &p->overflow;    }    trace(("}/n"));}
开发者ID:cglinden,项目名称:autocook,代码行数:32,


示例20: symtab_assign

voidsymtab_assign(symtab_ty *stp, string_ty *key, void *data){    str_hash_ty     idx;    symtab_row_ty   *p;    trace(("symtab_assign(stp = %08lX, key = /"%s/", data = %08lX)/n{/n",        (long)stp, key->str_text, (long)data));    idx = key->str_hash & stp->hash_mask;    for (p = stp->hash_table[idx]; p; p = p->overflow)    {        if (str_equal(key, p->key))        {            trace(("modify existing entry/n"));            if (stp->reap)                stp->reap(p->data);            p->data = data;            goto done;        }    }    trace(("new entry/n"));    p = mem_alloc(sizeof(symtab_row_ty));    p->key = str_copy(key);    p->overflow = stp->hash_table[idx];    p->data = data;    stp->hash_table[idx] = p;    stp->hash_load++;    if (stp->hash_load * 10 >= stp->hash_modulus * 8)        split(stp);    done:    trace(("}/n"));}
开发者ID:cglinden,项目名称:autocook,代码行数:34,


示例21: symtab_query

void *symtab_query(symtab_ty *stp, string_ty *key){    str_hash_ty     idx;    symtab_row_ty   *p;    void            *result;    trace(("symtab_query(stp = %08lX, key = /"%s/")/n{/n",        (long)stp, key->str_text));    result = 0;    idx = key->str_hash & stp->hash_mask;    for (p = stp->hash_table[idx]; p; p = p->overflow)    {        if (str_equal(key, p->key))        {            result = p->data;            break;        }    }    trace(("return %08lX;/n", (long)result));    trace(("}/n"));    return result;}
开发者ID:cglinden,项目名称:autocook,代码行数:25,


示例22: DDD_LoadIconList

static TinyRet DDD_LoadIconList(UpnpDevice *thiz, TinyXmlNode *iconList){    TinyRet ret = TINY_RET_OK;#if 0    do    {        uint32_t count = 0;        uint32_t i = 0;        count = TinyXmlNode_GetChildren(iconList);        if (count == 0)        {            ret = TINY_RET_E_XML_INVALID;            break;        }        for (i = 0; i < count; i++)        {            TinyXmlNode *child = NULL;            UpnpIcon *icon = NULL;            const char *mimetype = NULL;            const char *width = NULL;            const char *height = NULL;            const char *depth = NULL;            const char *url = NULL;            child = TinyXmlNode_GetChildAt(iconList, i);            if (!str_equal(TinyXmlNode_GetName(child), DDD_ICON, true))            {                continue;            }            mimetype = TinyXmlNode_GetChildContent(child, DDD_ICON_MIMETYPE);            width = TinyXmlNode_GetChildContent(child, DDD_ICON_WIDTH);            height = TinyXmlNode_GetChildContent(child, DDD_ICON_HEIGHT);            depth = TinyXmlNode_GetChildContent(child, DDD_ICON_DEPTH);            url = TinyXmlNode_GetChildContent(child, DDD_ICON_URL);            if (mimetype == NULL || width == NULL || height == NULL || depth == NULL || url == NULL)            {                continue;            }            icon = UpnpIcon_New();            if (icon == NULL)            {                ret = TINY_RET_E_OUT_OF_MEMORY;                break;            }            UpnpIcon_Set(icon, mimetype, atoi(width), atoi(height), atoi(depth), url);            ScList_AddTail(&thiz->icons, icon);        }    } while (0);#endif    return ret;}
开发者ID:jxfengzi,项目名称:UpnpLan,代码行数:59,


示例23: dnszones_namefind

int dnszones_namefind(struct dnszones *dnszones,char *fqdn) {    long long i;    for(i = 0; i < dnszones->zoneslen; ++i) {        if (str_equal(fqdn, dnszones->zones[i]->fqdn)) return 1;    }    return 0;}
开发者ID:stribika,项目名称:curveprotect,代码行数:9,


示例24: main

int main(int argc, char **argv) {    unsigned char *x;    unsigned long long xlen;    if (argv[0])        if (argv[1]) {            if (str_equal(argv[1], "-h"))                die_usage(0);        }    /* get password  */    x = (unsigned char *)env_get("PASSWORD");    if (!x) { errno = 0; die_usage("$PASSWORD not set"); }    xlen = str_len((char *)x);    /* create salt */    randombytes(s, sizeof s);    /* derive key  */    if (sha512hmacpbkdf2(h, sizeof h, x, xlen, s, sizeof s, ROUNDS) == -1) die_fatal("unable to derive keys", 0);    byte_zero(x, xlen);    /* create nonce */    randombytes(n, sizeof n);    uint64_pack(n, nanoseconds());    sha512(nk, (unsigned char *)MAGIC, MAGICBYTES);    crypto_block_aes256vulnerable(n, n, nk);    /* initialize */    crypto_init(&ctx, n, h, MAGIC);    randombytes(h, sizeof h);    sha512_init(&shactx);    /* write header */    if (writeall(1, MAGIC, MAGICBYTES) == -1) die_fatal("unable to write output", 0);    if (writeall(1, s, sizeof s) == -1) die_fatal("unable to write output", 0);    randombytes(s, sizeof s);    if (writeall(1, n, sizeof n) == -1) die_fatal("unable to write output", 0);    for (;;) {        inlen = readblock(in, BLOCK);        if (inlen != BLOCK) break;        if (sha512_block(&shactx, in, inlen) != 0) die_fatal("unable to compute hash", 0);        if (crypto_block(&ctx, in, inlen) != 0) die_fatal("unable to encrypt stream", 0);        if (writeall(1, in, inlen) == -1) die_fatal("unable to write output", 0);    }    if (sha512_last(&shactx, h, in, inlen) != 0) die_fatal("unable to compute hash", 0);    byte_copy(in + inlen, CHECKSUMBYTES, h);    inlen += CHECKSUMBYTES;    if (crypto_last(&ctx, in, inlen) != 0) die_fatal("unable to encrypt stream", 0);    if (writeall(1, in, inlen) == -1) die_fatal("unable to write output", 0);    if (fsyncfd(1) == -1) die_fatal("unable to write output", 0);    cleanup();    _exit(0);}
开发者ID:stribika,项目名称:curveprotect,代码行数:57,


示例25: method_init

/* vg.remove(string group, string name) */xmlrpc_value *m_vg_remove(xmlrpc_env *env, xmlrpc_value *p, void *c){	LOG_TRACEME	xmlrpc_value *params;	char *group, *name;	int rc, gid = 0;	xid_t xid;	params = method_init(env, p, c, VCD_CAP_AUTH, 0);	method_return_if_fault(env);	xmlrpc_decompose_value(env, params,			"{s:s,s:s,*}",			"group", &group,			"name",  &name);	method_return_if_fault(env);	if (!validate_group(group))		method_return_faultf(env, MEINVAL,				"invalid group value: %s", group);	if (str_equal(group, "all"))		method_return_faultf(env, MEINVAL,				"cannot remove reserved group '%s'", group);	if (!(gid = vxdb_getgid(group)))		method_return_fault(env, MENOVG);	if (!str_isempty(name)) {		if (!validate_name(name))			method_return_faultf(env, MEINVAL,					"invalid name value: %s", name);		if (!(xid = vxdb_getxid(name)))			method_return_fault(env, MENOVPS);		rc = vxdb_exec(				"DELETE FROM xid_gid_map WHERE xid = %d AND gid = %d",				xid, gid);	}	else {		rc = vxdb_exec(				"BEGIN EXCLUSIVE TRANSACTION;"				"DELETE FROM xid_gid_map WHERE gid = %d;"				"DELETE FROM groups WHERE gid = %d;"				"COMMIT TRANSACTION;",				gid, gid);	}	if (rc != VXDB_OK)		method_return_vxdb_fault(env);	return xmlrpc_nil_new(env);}
开发者ID:linux-vserver,项目名称:vcd,代码行数:57,


示例26: epd_find_op_inx

    static int			/* -1 | index into "oparr[]" */epd_find_op_inx( EpdJob* ejp, const char* op ){    register int	i;    for( i=0 ; i<ejp->opfull ; ++i ) {	if( str_equal(ejp->oparr[i].op, op) ) return i;    }    return -1;			/* not found */}
开发者ID:redo007,项目名称:chess_with_chest,代码行数:10,


示例27: smb_handle_negotiate_request

static int smb_handle_negotiate_request(unsigned char* c,size_t len,struct smb_response* sr) {  size_t i,j,k;  int ack;  const char nr[2*17+100*2]=    "/x11"	// word count 17    "xx"	// dialect index; ofs 1    "/x02"	// security mode, for NT: plaintext passwords XOR unicode#if 0    "/x02/x00"	// Max Mpx Count 2    "/x01/x00"	// Max VCs 1#else    "/x10/x00"	// Max Mpx Count 16    "/x10/x00"	// Max VCs 16#endif    "/x04/x41/x00/x00"	// Max Buffer Size (16644, like XP)    "/x00/x00/x01/x00"	// Max Raw Buffer (65536, like XP)    "/x01/x02/x03/x04"	// Session Key    "/x5e/x40/x00/x00"	// Capabilities, the bare minimum    "xxxxxxxx"	// system time; ofs 24    "xx"	// server time zone; ofs 32    "/x00"	// key len    "xx"	// byte count; ofs 35    ;		// workgroup name; ofs 37  char* x;  if (len<3) return -1;  j=uint16_read((char*)c+1);  if (len<3+j) return -1;  ack=-1;  for (k=0,i=3; i<3+j; ++k) {    if (c[i]!=2) return -1;    if (str_equal((char*)c+i+1,"NT LM 0.12")) { ack=k; break; }    i+=2+str_len((char*)c+i+1);  }  if (ack==-1) return -1;	// wrong dialect  if (!(x=add_smb_response2(sr,nr,38+wglen16,0x72))) return -1;  uint16_pack(x+1,ack);  {    struct timeval t;    unsigned long long ntdate;    gettimeofday(&t,&tz);    ntdate=10000000ll * ( t.tv_sec + 11644473600ll ) + t.tv_usec * 10ll;    uint32_pack(x+24,ntdate&0xffffffff);    uint32_pack(x+24+4,ntdate>>32);    uint16_pack(x+32,tz.tz_minuteswest);  }  uint16_pack(x+35,wglen16);  byte_copy(x+37,wglen16,workgroup_utf16);  return 0;}
开发者ID:scolytus,项目名称:gatling,代码行数:54,


示例28: main

int main(int argc, char **argv, char **envp) {    if (!argv[0]) die_usage();    if (!argv[1]) die_usage();    if (str_equal(argv[1], "-h")) die_usage();    if (extremesandbox_droproot() == -1) die_fatal("unable to drop root privileges", 0);    pathexec_run(argv[1], argv + 1, envp);    die_fatal("unable to run", argv[1]);    return 111;}
开发者ID:stribika,项目名称:curveprotect,代码行数:12,


示例29: ae_cb

static voidae_cb (const char *name, aa_enable_flags type){    int i;    for (i = 0; i < names.len; i += strlen (names.s + i) + 1)        if (str_equal (name, names.s + i))            return;    genalloc_append (int, &ga_next, &names.len);    stralloc_catb (&names, name, strlen (name) + 1);}
开发者ID:linsam,项目名称:anopa,代码行数:12,


示例30: str_contains_line

intstr_contains_line(const struct mystr* p_str, const struct mystr* p_line_str){  static struct mystr s_curr_line_str;  unsigned int pos = 0;  while (str_getline(p_str, &s_curr_line_str, &pos))  {    if (str_equal(&s_curr_line_str, p_line_str))    {      return 1;    }  }  return 0;}
开发者ID:Einheri,项目名称:wl500g,代码行数:14,



注:本文中的str_equal函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ str_find_aux函数代码示例
C++ str_eq函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。