All pastes #461584 Raw Edit

fgetc functiony

public text v1 · immutable
#461584 ·published 2007-04-27 19:34 UTC
rendered paste body
char* fetchFile(char* filename) {

	char* buffer = (char*)calloc(BUFFER,sizeof(char));
	int index = 0;
	int totalsize = BUFFER;


	FILE* file = fopen(filename, "r");

	if (file != NULL) {

		while (!feof(file)) {

			char next = fgetc(file);
			if (index == totalsize-1) {
				totalsize += BUFFER;
				char* new = 
				(char*)calloc(totalsize,sizeof(char));
				strcpy(new, buffer);
				free(buffer);
				buffer = new;
			}
			buffer[index] = next;
			index++;

		}
	buffer[index] = '\0';

	close(file);
	} else {
		free(buffer);
		buffer = NULL;
	}
	
	return buffer;
}