OpenCoverage

netopen.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/bash/src/lib/sh/netopen.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15-
16-
17-
18-
19-
20-
21-
22static int _netopen6 (char *, char *, int);-
23-
24-
25static int _netopen (char *, char *, int);-
26static int-
27_netopen6 (host, serv, typ)-
28 char *host, *serv;-
29 int typ;-
30{-
31 int s, e;-
32 struct addrinfo hints, *res, *res0;-
33 int gerr;-
34-
35 memset ((char *)&hints, 0, sizeof (hints));-
36-
37-
38 hints.ai_family = -
39 2-
40 ;-
41-
42-
43-
44 hints.ai_socktype = (
(typ == 't')Description
TRUEnever evaluated
FALSEnever evaluated
typ == 't')
(typ == 't')Description
TRUEnever evaluated
FALSEnever evaluated
?
0
45 SOCK_STREAM -
46 : -
47 SOCK_DGRAM-
48 ;-
49-
50 gerr = getaddrinfo (host, serv, &hints, &res0);-
51 if (gerr
gerrDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
52 {-
53 if (gerr ==
gerr == -8Description
TRUEnever evaluated
FALSEnever evaluated
0
54 -8
gerr == -8Description
TRUEnever evaluated
FALSEnever evaluated
0
55 )-
56 internal_error ("%s: %s", serv, gai_strerror (gerr));
never executed: internal_error ("%s: %s", serv, gai_strerror (gerr));
0
57 else-
58 internal_error ("%s: %s", host, gai_strerror (gerr));
never executed: internal_error ("%s: %s", host, gai_strerror (gerr));
0
59 -
60 (*__errno_location ()) -
61 = -
62 22-
63 ;-
64 return
never executed: return -1;
-1;
never executed: return -1;
0
65 }-
66-
67 for (res = res0; res
resDescription
TRUEnever evaluated
FALSEnever evaluated
; res = res->ai_next)
0
68 {-
69 if ((
(s = socket (r...protocol)) < 0Description
TRUEnever evaluated
FALSEnever evaluated
s = socket (res->ai_family, res->ai_socktype, res->ai_protocol)) < 0
(s = socket (r...protocol)) < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
70 {-
71 if (res->ai_next
res->ai_nextDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
72 continue;
never executed: continue;
0
73 sys_error ("socket");-
74 freeaddrinfo (res0);-
75 return
never executed: return -1;
-1;
never executed: return -1;
0
76 }-
77 if (connect (s, res->ai_addr, res->ai_addrlen) < 0
connect (s, re...i_addrlen) < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
78 {-
79 if (res->ai_next
res->ai_nextDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
80 {-
81 close (s);-
82 continue;
never executed: continue;
0
83 }-
84 e = -
85 (*__errno_location ())-
86 ;-
87 sys_error ("connect");-
88 close (s);-
89 freeaddrinfo (res0);-
90 -
91 (*__errno_location ()) -
92 = e;-
93 return
never executed: return -1;
-1;
never executed: return -1;
0
94 }-
95 freeaddrinfo (res0);-
96 break;
never executed: break;
0
97 }-
98 return
never executed: return s;
s;
never executed: return s;
0
99}-
100-
101-
102-
103-
104-
105-
106-
107static int-
108_netopen(host, serv, typ)-
109 char *host, *serv;-
110 int typ;-
111{-
112-
113 return
never executed: return (_netopen6 (host, serv, typ));
(_netopen6 (host, serv, typ));
never executed: return (_netopen6 (host, serv, typ));
0
114-
115-
116-
117}-
118-
119-
120-
121-
122-
123int-
124netopen (path)-
125 char *path;-
126{-
127 char *np, *s, *t;-
128 int fd;-
129-
130 np = (char *)sh_xmalloc((strlen (path) + 1), "netopen.c", 299);-
131 strcpy (np, path);-
132-
133 s = np + 9;-
134 t = -
135 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
0
136 '/'
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
0
137 )
__builtin_constant_p ( '/' )Description
TRUEnever evaluated
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_constant_p ( s )Description
TRUEnever evaluated
FALSEnever evaluated
0
138 s
!__builtin_constant_p ( s )Description
TRUEnever evaluated
FALSEnever evaluated
0
139 )
!__builtin_constant_p ( s )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
140 '/'
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
141 ) == '\0'
( '/' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) __rawmemchr (
0
142 s-
143 , -
144 '/'-
145 ) : __builtin_strchr (-
146 s-
147 , -
148 '/'-
149 )))-
150 ;-
151 if (t == 0
t == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
152 {-
153 internal_error (-
154 dcgettext (((void *)0), -
155 "%s: bad network path specification"-
156 , 5)-
157 , path);-
158 sh_xfree((np), "netopen.c", 307);-
159 return
never executed: return -1;
-1;
never executed: return -1;
0
160 }-
161 *t++ = '\0';-
162 fd = _netopen (s, t, path[5]);-
163 sh_xfree((np), "netopen.c", 312);-
164-
165 return
never executed: return fd;
fd;
never executed: return fd;
0
166}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.1.2