bool parsegetmacaddress(cstring macaddr, byte& nfield0, byte& nfield1, byte& nfield2, byte& nfield3, byte& nfield4, byte& nfield5)
{
byte* pfield;
tchar ch;
int p = 0;
pfield = &nfield0;
*pfield = 0;
for(int i=0; i<macaddr.getlength(); i++)
{
ch = macaddr.getat(i);
if (ch == '-')
{
switch(++p)
{
case 1:
pfield = &nfield1; break;
case 2:
pfield = &nfield2; break;
case 3:
pfield = &nfield3; break;
case 4:
pfield = &nfield4; break;
case 5:
pfield = &nfield5; break;
}
*pfield = 0;
continue;
}
ch -= '0';
if (ch>9) ch -= 7;
*pfield = *pfield*0x10 + ch;
}
return true;
}