void parse_ipv6_address(uint8 *v, uint8 *buf)
{
uint8 value = 0;
uint8 offset = 0;
uint8 index = 0;
uint16 buffer_offset = 0;
uint8 temp_buff[10];
uint32 v6[4] = {'\0'};
temp_buff[0] = '\0';
uint8 i = 0;
//! Total 8 octets
for(index = 0; index < 8 ;index++)
{
//! each octet contains max of 5 characters including . dot
for(offset = 0;offset < 5 ; offset++)
{
value = buf[buffer_offset++];
if((value == '.') || (value == ':'))
{
break;
}
temp_buff[offset] = value;
}
temp_buff[offset]= '\0';
if(index % 2 == 0)
{
v6[index/2] = (parseHex(temp_buff) << 16);
}
else
{
v6[index/2] |= parseHex(temp_buff);
}
temp_buff[0] = '\0';
}
for(i = 0; i < 4; i++)
{
rsi_uint32_to_4bytes((v+(4*i)), v6[i]);
}
}
Слишком много аргументов для функции rsi_uint32_to_4bytes
. Он был объявлен как void rsi_uint32_to_4bytes(uint8 *dBuf,uint32 val);
, и он продолжает показывать конфликтующие типы ошибок для функции, и этот код начал показывать ошибку, когда я перенес ее в компилятор g cc.