Now, there isn't any context around the code to know for sure, but if temp's original unclamped value isn't needed after this chunk of code, I'd do this:
if (asys->clip_oversamples == 1)
{
if (temp > 255)
temp = 255;
else if (temp < 0)
temp = 0;
}
*buf++ = temp;
It might be a little slower due to the assigns if temp isn't a register, but I find it quite a bit more readable than the original.
P.S.: I just spent 20 minutes trying to get my post to look right, and gave up in the end. Any pointers on how to get code to be monospace, etc?