I am playing with this code to see if I can get to work so far so good but I was curious what does this error message mean:
overloaded function differs only by return type from 'char *itoa(int,char *,int)'
it is within this code:
Code:
void itoa( int32 num, int8 *alpha, int32 radix )
{
if( radix == 10 )
{
sprintf(alpha, "%i", num);
}
else if( radix == 16 )
{
sprintf(alpha, "%X", num);
}
}
int8 *oldModString(int32 modifier, const int8 *pbDataOne, int32 length)
{
int8 leading[3];
int32 ileading;
int8 * tempStr = NULL;
int8 * ret;
int32 i = 0;
itoa(modifier/2, leading, 10);
ileading = atoi(leading);
tempStr = (int8 *) malloc(8);
ret = (int8 *) malloc(length);
memset(tempStr, 0, 8);
tempStr[0] = 0;
if( (modifier+1)%2 == 0 ) {
tempStr[0] = (int8)((ileading<<4) + 8);
}
else {
tempStr[0] = (int8)(ileading<<4);
}
for(i=0; i<(length>>3); i++)
{
xorStringRounds(ret+i*8, tempStr, pbDataOne+i*8, 8);
}
free(tempStr);
return ret;
}
int main(int argc, char **argv) {
int8 data[32];
memset(data, 0x0A, sizeof(data));
int8 *resp = oldModString(0xFF, data, sizeof(data));
free(resp);
return 0;
}
I put the reminder of the code underneath just in case if it needs to be clear to understand. I will keep looking for another solution.