add: if (fseek(output, 0, SEEK_END) < 0) pexit("fseek");
context: static void clean_buffer(void){	char line[LINE_BUFFER_SIZE];	unsigned int current, *last;	if (fseek(output, 0, SEEK_SET) < 0) pexit("fseek");	while (fgetl(line, sizeof(line), output)) {		last = &buffer.hash[line_hash(line)];#if ARCH_LITTLE_ENDIAN		current = *last;#else		current = get_int(last);#endif		while (current != ENTRY_END_HASH && current != ENTRY_DUPE) {			if (!strcmp(line, &buffer.data[current + 4])) {				put_int(last, get_data(current));				put_data(current, ENTRY_DUPE);				break;			}			last = (unsigned int *)&buffer.data[current];			current = get_int(last);		}	}	if (ferror(output)) pexit("fgets");}