Lines Matching full:lineptr
15 /* Read up to (and including) a TERMINATOR from STREAM into *LINEPTR
16 + OFFSET (and null-terminate it). *LINEPTR is a pointer returned from
21 static int getstr(char **lineptr, size_t *n, FILE *stream, in getstr() argument
24 int nchars_avail; /* Allocated but unused chars in *LINEPTR. */ in getstr()
25 char *read_pos; /* Where we're reading into *LINEPTR. */ in getstr()
28 if (!lineptr || !n || !stream) in getstr()
31 if (!*lineptr) { in getstr()
33 *lineptr = malloc(*n); in getstr()
34 if (!*lineptr) in getstr()
39 read_pos = *lineptr + offset; in getstr()
48 assert(*n - nchars_avail == read_pos - *lineptr); in getstr()
55 nchars_avail = *n + *lineptr - read_pos; in getstr()
56 *lineptr = realloc(*lineptr, *n); in getstr()
57 if (!*lineptr) in getstr()
59 read_pos = *n - nchars_avail + *lineptr; in getstr()
60 assert(*n - nchars_avail == read_pos - *lineptr); in getstr()
65 if (read_pos == *lineptr) in getstr()
82 ret = read_pos - (*lineptr + offset); in getstr()
86 int getline (char **lineptr, size_t *n, FILE *stream) in getline() argument
88 return getstr(lineptr, n, stream, '\n', 0); in getline()