Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2082|回复: 0
打印 上一主题 下一主题

PL_strnpbrk

[复制链接]

388

主题

602

帖子

2218

积分

金牌会员

Rank: 6Rank: 6

积分
2218
跳转到指定楼层
楼主
发表于 2015-10-15 09:22:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
struct nsLocalMailCopyState
{
    char *m_dataBuffer;
}
nsLocalMailCopyState *mCopyState;

char *start = mCopyState->m_dataBuffer + 1;
  
char *endBuffer = mCopyState->m_dataBuffer + mCopyState->m_leftOver + 1;

char *end = PL_strnpbrk(start, "\r\n", endBuffer - start);


如:
start指向下面字符串
Received: from hechengjin (114.255.44.132) by Bjmail2.kingsoft.cn
(192.168.12.58) with Microsoft SMTP Server (TLS) id 8.3.83.0; Fri, 9 Oct 2015

则end指向下面字符串
\r\n
(192.168.12.58) with Microsoft SMTP Server (TLS) id 8.3.83.0; Fri, 9 Oct 2015



PR_IMPLEMENT(char *)
PL_strnpbrk(const char *s, const char *list, PRUint32 max)
{
    const char *p;

    if( ((const char *)0 == s) || ((const char *)0 == list) ) return (char *)0;

    for( ; max && *s; s++, max-- )
        for( p = list; *p; p++ )
            if( *s == *p )
                return (char *)s;

    return (char *)0;
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-23 04:48 , Processed in 0.055209 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表