I have come up against this error while porting some drivers from another processor
C1853: unary minus operator applied to unsigned type
The line in question is:
if(offset < 0)
bytes_to_new_posn -= (unsigned long)0 - offset;
bytes_to_new_posn is an unsigned long
offset is a long
How do I get round this?