diff --git a/common/readline.c b/common/readline.c index 4f55e99c9..46b966236 100644 --- a/common/readline.c +++ b/common/readline.c @@ -49,11 +49,11 @@ char *read_line(FILE *file) { return string; } -char *peek_line(FILE *file, int offset, long *position) { +char *peek_line(FILE *file, int line_offset, long *position) { long pos = ftell(file); - size_t length = 1; - char *line = calloc(1, length); - for (int i = 0; i <= offset; i++) { + size_t length = 0; + char *line = NULL; + for (int i = 0; i <= line_offset; i++) { ssize_t read = getline(&line, &length, file); if (read < 0) { break; diff --git a/include/readline.h b/include/readline.h index e1ae2302a..ee2eba5de 100644 --- a/include/readline.h +++ b/include/readline.h @@ -4,7 +4,7 @@ #include char *read_line(FILE *file); -char *peek_line(FILE *file, int offset, long *position); +char *peek_line(FILE *file, int line_offset, long *position); char *read_line_buffer(FILE *file, char *string, size_t string_len); #endif