Something
public text v1 · immutablechar* fgetline(FILE* fp)
{
size_t size = 0;
char* line = malloc(size);
char buf = ' ';
char* tmp;
while (((buf = fgetc(fp)) != '\n') && buf != EOF) {
size++;
tmp = realloc(line, size + 1);
if (tmp == NULL) {
tmp = malloc(size + 1);
strcpy(tmp, line);
}
line = tmp;
line[size - 2] = buf;
}
if (size >= 1) {
line[size - 1] = '\0';
}
return line;
}