I would say the type deduction is failing you there. But why rely on that anyway, you may end up with wrong pointer types anyway. A better solution would be this:

Code:
void array_fill(void *arrayin, int arraylength, char elementvaluem int elementSize);
{
	if(!arrayin || arraylength <= 0) 
		return;
	
	memset(arrayin, bytevalue, elementSize * arraylength);
}



(You indentation is seriously trippy though. You may want to adopt indentation with tabs and alignment with spaces in the future so it looks universally consistent)


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com