--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "libbb.h"
+
+/*
+ * Reads consecutive lines from file line that start with end_string
+ * read finishes at an empty line or eof
+ */
+extern char *read_text_file_to_buffer(FILE *src_file)
+{
+ char *line = NULL;
+ char *buffer = NULL;
+ int buffer_length = 0;
+ int line_length = 0;
+
+ buffer = xmalloc(1);
+ strcpy(buffer, "");
+
+ /* Loop until line is empty, or just one char, which will be '\n' */
+ do {
+ line = get_line_from_file(src_file);
+ if (line == NULL) {
+ break;
+ }
+ line_length = strlen(line);
+ buffer_length += line_length + 1;
+ buffer = (char *) xrealloc(buffer, buffer_length + 1);
+ strcat(buffer, line);
+ free(line);
+ } while (line_length > 1);
+
+ if (strlen(buffer) == 0) {
+ return(NULL);
+ } else {
+ return(strdup(buffer));
+ }
+}
\ No newline at end of file