コード例 #1
0
ファイル: tmisc.cpp プロジェクト: nianhuaxpj/ipmsg
BOOL hexstr2bin(const char *buf, BYTE *bindata, int maxlen, int *len)
{
	for (*len=0; buf[0] && buf[1] && *len < maxlen; buf+=2, (*len)++)
	{
		u_char c1 = hexchar2char(buf[0]);
		u_char c2 = hexchar2char(buf[1]);
		if (c1 == 0xff || c2 == 0xff) break;
		bindata[*len] = (c1 << 4) | c2;
	}
	return	TRUE;
}
コード例 #2
0
ファイル: tmisc.cpp プロジェクト: nianhuaxpj/ipmsg
BOOL hexstr2bin_revendian(const char *buf, BYTE *bindata, int maxlen, int *len)
{
	*len = 0;
	for (int buflen = (int)strlen(buf); buflen >= 2 && *len < maxlen; buflen-=2, (*len)++)
	{
		u_char c1 = hexchar2char(buf[buflen-1]);
		u_char c2 = hexchar2char(buf[buflen-2]);
		if (c1 == 0xff || c2 == 0xff) break;
		bindata[*len] = c1 | (c2 << 4);
	}
	return	TRUE;
}
コード例 #3
0
ファイル: tstr.cpp プロジェクト: Mapaler/FastCopy-M
size_t hexstr2bin(const char *buf, BYTE *bindata, size_t maxlen)
{
	size_t	len = 0;

	for ( ; buf[0] && buf[1] && len < maxlen; buf+=2, len++)
	{
		u_char c1 = hexchar2char(buf[0]);
		u_char c2 = hexchar2char(buf[1]);
		if (c1 == 0xff || c2 == 0xff) break;
		bindata[len] = (c1 << 4) | c2;
	}
	return	len;
}
コード例 #4
0
ファイル: tstr.cpp プロジェクト: Mapaler/FastCopy-M
size_t hexstr2bin_revendian_ex(const char *s, BYTE *bindata, size_t maxlen, int slen)
{
	size_t	len = 0;

	if (slen == -1) {
		slen = (int)strlen(s);
	}

	for ( ; slen >= 1 && len < maxlen; slen-=2, len++) {
		u_char c1 = hexchar2char(s[slen-1]);
		u_char c2 = (slen >= 2) ? hexchar2char(s[slen-2]) : 0;
		if (c1 == 0xff || c2 == 0xff) {
			return FALSE;
		}
		bindata[len] = c1 | (c2 << 4);
	}
	return	len;
}