Esempio n. 1
0
uint8_t*
file_in_buffer(const char* infile, const char* outfile, FILE* fp)
{
	gaddag* parsed = parse_gaddag(infile);
	gaddag_to_binary(parsed, outfile);
	delete_gaddag(parsed);
	
	fp = fopen(outfile, "r");

	if (!fp)
	{
		fprintf(stderr, "Error reading the file %s after creation.\n", outfile);
		fail();
	}

	fseek(fp, 0, SEEK_END);
	long lSize = ftell(fp);
	rewind(fp);
		
	uint8_t* buffer = (uint8_t*) malloc(sizeof(uint8_t) * lSize);
	if (!buffer) 
	{
		fprintf(stderr, "Error allocating into memory\n");
		fail();
	}

	size_t result = fread(buffer, 1, lSize, fp);
	if (!result)
	{
		fprintf(stderr, "Error reading contents into buffer");
	}

	return buffer;
}
Esempio n. 2
0
void
delete_gaddag(gaddag* input)
{
	gaddag** links = input->ptrs;
	int i;

	for (i = 0; i < NUM_GADDAG_PTRS; ++i)
	{
		gaddag* ptr = links[i];
		if (ptr) 
		{
			delete_gaddag(ptr);
		}
	}
	free(links);
	free(input);
}