MCPcopy Create free account
hub / github.com/Entware/Entware / compat_getline

Function compat_getline

scripts/config/confdata.c:310–342  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

308}
309
310static ssize_t compat_getline(char **lineptr, size_t *n, FILE *stream)
311{
312 char *line = *lineptr;
313 size_t slen = 0;
314
315 for (;;) {
316 int c = getc(stream);
317
318 switch (c) {
319 case '\n':
320 if (add_byte(c, &line, slen, n) < 0)
321 goto e_out;
322 slen++;
323 /* fall through */
324 case EOF:
325 if (add_byte('\0', &line, slen, n) < 0)
326 goto e_out;
327 *lineptr = line;
328 if (slen == 0)
329 return -1;
330 return slen;
331 default:
332 if (add_byte(c, &line, slen, n) < 0)
333 goto e_out;
334 slen++;
335 }
336 }
337
338e_out:
339 line[slen-1] = '\0';
340 *lineptr = line;
341 return -1;
342}
343
344void conf_reset(int def)
345{

Callers 1

conf_read_simpleFunction · 0.85

Calls 1

add_byteFunction · 0.85

Tested by

no test coverage detected