Lines Matching refs:lineptr
41 getstr (char **lineptr, size_t *n, FILE *stream, char terminator, size_t offset)
46 if (!lineptr || !n || !stream)
49 if (!*lineptr)
52 *lineptr = new char[*n];
56 read_pos = *lineptr + offset;
66 assert (*n - nchars_avail == (size_t) (read_pos - *lineptr));
74 nchars_avail = *n + *lineptr - read_pos;
76 if (*lineptr)
78 memcpy (new_line, *lineptr, read_pos - *lineptr);
79 delete[] *lineptr;
81 *lineptr = new_line;
82 read_pos = *n - nchars_avail + *lineptr;
83 assert (*n - nchars_avail == (size_t) (read_pos - *lineptr));
89 if (read_pos == *lineptr)
106 return read_pos - (*lineptr + offset);
110 get_line (char **lineptr, size_t *n, FILE *stream)
112 return getstr (lineptr, n, stream, '\n', 0);
116 get_delim (char **lineptr, size_t *n, int delimiter, FILE *stream)
118 return getstr (lineptr, n, stream, delimiter, 0);