X-Git-Url: https://git.sesse.net/?p=fjl;a=blobdiff_plain;f=input_test.c;h=57fae748621cfc5d2d4e0c87f1fe529773a91201;hp=3f003d2bbc040fa3a435400350a37aadc55b602c;hb=f6111465adacc2840f4cd25d55b3017cbf0593b2;hpb=b6eb12684a5c1001cd80922700b393dd822de5d0 diff --git a/input_test.c b/input_test.c index 3f003d2..57fae74 100644 --- a/input_test.c +++ b/input_test.c @@ -24,7 +24,7 @@ ssize_t custom_read(void* userdata, uint8_t* buf, size_t count) ssize_t custom_read_slow(void* userdata, uint8_t* buf, size_t count) { struct custom_read_userdata* ud = (struct custom_read_userdata*)userdata; - size_t num_to_read = (count > 0 ? 1 : 0); + size_t num_to_read = ((count > 0 && ud->bytes_left > 0) ? 1 : 0); memcpy(buf, ud->bytes, num_to_read); ud->bytes += num_to_read; ud->bytes_left -= num_to_read; @@ -39,10 +39,10 @@ void test_basic_reading() ud.bytes = bytes; ud.bytes_left = sizeof(bytes); - struct data_source source; - init_data_source(&source, custom_read, &ud); + struct bit_source source; + init_bit_source(&source, custom_read, &ud); - for (int i = 0; i < sizeof(bytes) * 8 / 6; ++i) { + for (unsigned i = 0; i < sizeof(bytes) * 8 / 6; ++i) { possibly_refill(&source, 6); unsigned ret = read_bits(&source, 6); assert(ret == 0x2a); @@ -59,10 +59,10 @@ void test_slow_source() ud.bytes = bytes; ud.bytes_left = sizeof(bytes); - struct data_source source; - init_data_source(&source, custom_read_slow, &ud); + struct bit_source source; + init_bit_source(&source, custom_read_slow, &ud); - for (int i = 0; i < sizeof(bytes) * 8 / 6; ++i) { + for (unsigned i = 0; i < sizeof(bytes) * 8 / 6; ++i) { possibly_refill(&source, 6); unsigned ret = read_bits(&source, 6); assert(ret == 0x2a); @@ -79,8 +79,8 @@ void test_variable_size() ud.bytes = bytes; ud.bytes_left = sizeof(bytes); - struct data_source source; - init_data_source(&source, custom_read, &ud); + struct bit_source source; + init_bit_source(&source, custom_read, &ud); { possibly_refill(&source, 4);