#include <stdio.h>
typedef unsigned char byte;
void printBytes(byte *state, int len)
{
int i;
for (i = 0; i < len; i++)
{
}
}
// Re-invent the byte using arbitrary length array (i.e. BigNumber)
// to increment 16-byte nonce
void incByte(byte *state, int i)
{
// 0000 -> 0001
if (state[i] < 0xff)
{
state[i]++;
return;
}
// 0001 -> 0010
state[i] = 0x00;
i--;
incByte(state, i);
}
void testInc()
{
byte state[] = { 0x00, 0xff, 0xff, 0xee };
int i;
for (i = 1; i <= 100; i++)
{
incByte(state, sizeof(state) - 1);
printBytes(state, sizeof(state));
}
}
int main(void) {
testInc();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CnR5cGVkZWYgdW5zaWduZWQgY2hhciBieXRlOwoKdm9pZCBwcmludEJ5dGVzKGJ5dGUgKnN0YXRlLCBpbnQgbGVuKQp7CiAgaW50IGk7CiAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQogIHsKICAgIHByaW50ZigiJTAyWCAiLCBzdGF0ZVtpXSk7CiAgfQoKICBwcmludGYoIlxuIik7Cn0KCi8vIFJlLWludmVudCB0aGUgYnl0ZSB1c2luZyBhcmJpdHJhcnkgbGVuZ3RoIGFycmF5IChpLmUuIEJpZ051bWJlcikKLy8gdG8gaW5jcmVtZW50IDE2LWJ5dGUgbm9uY2UKdm9pZCBpbmNCeXRlKGJ5dGUgKnN0YXRlLCBpbnQgaSkKewogIC8vIDAwMDAgLT4gMDAwMQogIGlmIChzdGF0ZVtpXSA8IDB4ZmYpCiAgewogICAgc3RhdGVbaV0rKzsKICAgIHJldHVybjsKICB9CgogIC8vIDAwMDEgLT4gMDAxMAogIHN0YXRlW2ldID0gMHgwMDsKICBpLS07CiAgaW5jQnl0ZShzdGF0ZSwgaSk7Cn0KCgoKdm9pZCB0ZXN0SW5jKCkKewogIGJ5dGUgc3RhdGVbXSA9IHsgMHgwMCwgMHhmZiwgMHhmZiwgMHhlZSB9OwoKICBpbnQgaTsKICBmb3IgKGkgPSAxOyBpIDw9IDEwMDsgaSsrKQogIHsKICAgIGluY0J5dGUoc3RhdGUsIHNpemVvZihzdGF0ZSkgLSAxKTsKICAgIHByaW50Qnl0ZXMoc3RhdGUsIHNpemVvZihzdGF0ZSkpOwogIH0KfQoKaW50IG1haW4odm9pZCkgewoJdGVzdEluYygpOwoJcmV0dXJuIDA7Cn0K