In the line:
for (carry = bin[i], j = size - 1; (j > high) || carry; --j)
my analysis missed that the compare (j > high) is always true when
high is 0 and j wraps around. So although the loop does not store
through a negative 'j' offset, it does require j to become negative
in order to terminate the loop in that case. My apologies.
4.6 KiB
4.6 KiB