OpenCoverage

zgetline.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/bash/src/lib/sh/zgetline.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11extern ssize_t zread (int, char *, size_t);-
12extern ssize_t zreadc (int, char *);-
13extern ssize_t zreadintr (int, char *, size_t);-
14extern ssize_t zreadcintr (int, char *);-
15-
16typedef ssize_t breadfunc_t (int, char *, size_t);-
17typedef ssize_t creadfunc_t (int, char *);-
18ssize_t-
19zgetline (fd, lineptr, n, delim, unbuffered_read)-
20 int fd;-
21 char **lineptr;-
22 size_t *n;-
23 int delim;-
24 int unbuffered_read;-
25{-
26 int nr, retval;-
27 char *line, c;-
28-
29 if (lineptr == 0
lineptr == 0Description
TRUEnever evaluated
FALSEevaluated 161 times by 1 test
Evaluated by:
  • Self test
|| n == 0
n == 0Description
TRUEnever evaluated
FALSEevaluated 161 times by 1 test
Evaluated by:
  • Self test
|| (*
*lineptr == 0Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 138 times by 1 test
Evaluated by:
  • Self test
lineptr == 0
*lineptr == 0Description
TRUEevaluated 23 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 138 times by 1 test
Evaluated by:
  • Self test
&& *
*n != 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • Self test
n != 0
*n != 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 1 test
Evaluated by:
  • Self test
))
0-161
30 return
never executed: return -1;
-1;
never executed: return -1;
0
31-
32 nr = 0;-
33 line = *lineptr;-
34-
35 while (1)-
36 {-
37 retval = unbuffered_read
unbuffered_readDescription
TRUEevaluated 24 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2509 times by 1 test
Evaluated by:
  • Self test
? zread (fd, &c, 1) : zreadc(fd, &c);
24-2509
38-
39 if (retval <= 0
retval <= 0Description
TRUEevaluated 27 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2506 times by 1 test
Evaluated by:
  • Self test
)
27-2506
40 {-
41 if (line
lineDescription
TRUEevaluated 16 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 11 times by 1 test
Evaluated by:
  • Self test
&& nr > 0
nr > 0Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 9 times by 1 test
Evaluated by:
  • Self test
)
7-16
42 line[nr] = '\0';
executed 7 times by 1 test: line[nr] = '\0';
Executed by:
  • Self test
7
43 break;
executed 27 times by 1 test: break;
Executed by:
  • Self test
27
44 }-
45-
46 if (nr + 2 >= *n
nr + 2 >= *nDescription
TRUEevaluated 20 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2486 times by 1 test
Evaluated by:
  • Self test
)
20-2486
47 {-
48 size_t new_size;-
49-
50 new_size = (*
(*n == 0)Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 8 times by 1 test
Evaluated by:
  • Self test
n == 0)
(*n == 0)Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 8 times by 1 test
Evaluated by:
  • Self test
? 16 : *n * 2;
8-12
51 line = (*
(*n >= new_size)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • Self test
n >= new_size)
(*n >= new_size)Description
TRUEnever evaluated
FALSEevaluated 20 times by 1 test
Evaluated by:
  • Self test
?
0-20
52 ((void *)0) -
53 : sh_xrealloc((*lineptr), (new_size), "zgetline.c", 96);-
54-
55 if (line
lineDescription
TRUEevaluated 20 times by 1 test
Evaluated by:
  • Self test
FALSEnever evaluated
)
0-20
56 {-
57 *lineptr = line;-
58 *n = new_size;-
59 }
executed 20 times by 1 test: end of block
Executed by:
  • Self test
20
60 else-
61 {-
62 if (*
*n > 0Description
TRUEnever evaluated
FALSEnever evaluated
n > 0
*n > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
63 {-
64 (*lineptr)[*n - 1] = '\0';-
65 nr = *n - 2;-
66 }
never executed: end of block
0
67 break;
never executed: break;
0
68 }-
69 }-
70-
71 line[nr] = c;-
72 nr++;-
73-
74 if (c == delim
c == delimDescription
TRUEevaluated 134 times by 1 test
Evaluated by:
  • Self test
FALSEevaluated 2372 times by 1 test
Evaluated by:
  • Self test
)
134-2372
75 {-
76 line[nr] = '\0';-
77 break;
executed 134 times by 1 test: break;
Executed by:
  • Self test
134
78 }-
79 }
executed 2372 times by 1 test: end of block
Executed by:
  • Self test
2372
80-
81 return
executed 161 times by 1 test: return nr - 1;
Executed by:
  • Self test
nr - 1;
executed 161 times by 1 test: return nr - 1;
Executed by:
  • Self test
161
82}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2