Okay I'm seeing what you're saying.
Code:
void Sleep(unsigned int x) {
if (x <= 0 )
return;
if ( x>=1000 )
usleep(999999);
else
usleep(x*1000);
}
Would be the implementation I'd use though, slightly faster due to no recursion and the functionality isn't... odd.