#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int check_bytes(const char * const data, size_t length, const char val)
{
    if(length == 0) return 1;
    if(*data != val) return 0;
    return memcmp(data, data+1, length-1) ? 0 : 1;
}

int main(void) {
	const size_t LEN = 12345;
	char * data0 = calloc(1, LEN);
	char * data1 = calloc(1, LEN);
	data1[1234] = 5;
	
	printf("Data 0 should be all-0: %s\n", check_bytes(data0, LEN, 0) ? "yes": "no");
	printf("Data 1 should NOT be all-0: %s\n", check_bytes(data1, LEN, 0) ? "yes": "no");
	return 0;
}
