/************************************************************************
Description :
IsHexMode=1 1234 -> 0x1234
IsHexMode=0 1234 -> 1234 -> 0x04d2
************************************************************************/
u8 AscToInt(const u8 pdata, u8 length, u8 IsHexMode, u32 tardata) // AscToInt
{
u32 jval=0;
u8 tmp, bLen, index, dh=10;
if ((length==0) || (length>9))
{
return 0x00;
}
bLen = 0;
if (IsHexMode) // 0x10
{
dh = 0x10;
for (tmp=0; tmp<length; tmp++)
{
if (IS_HEX_LETTER(pdata[tmp]))
{
bLen++;
}
else
{
break;
}
}
}
else /* 十进制 10 */
{
dh = 10;
for (tmp=0; tmp<length; tmp++) // 112.95.251.144:9936
{
if (IS_DIGIT_NUM(pdata[tmp]))
{
bLen++;
}
else
{
break;
}
}
}
jval = 0; // 1234
for (index=0; index<bLen; index++)
{
jval = jval*dh + chr(pdata[index]);
#if 0
putU32Hex(jval);
putByte(pdata[index]);
putLine();
#endif
}
*tardata = jval;
return bLen;
}