Iterate through buffer line by line and terminate just before eof.
gchar *b, *e, *ln, *n=buf, eof=buf+strlen(buf); while(iter_lines(&b, &e, &n, eof, &ln)) { g_free(ln); }