@@ -173,10 +173,13 @@ local function connect(options, timeout)
173173
174174	local  host  =  options .host 
175175	local  records 
176+ 	local  n_records 
176177	if  path  then 
177178		records  =  { { family  =  family , path  =  path  } }
179+ 		n_records  =  1 
178180	elseif  http_util .is_ip (host ) then 
179181		records  =  { { family  =  family , host  =  host  } }
182+ 		n_records  =  1 
180183	else 
181184		local  dns_resolver  =  options .dns_resolver  or  cqueues_dns .getpool ()
182185		records  =  {}
@@ -188,6 +191,7 @@ local function connect(options, timeout)
188191		elseif  family  ==  cs .AF_INET6  then 
189192			dns_lookup (records , dns_resolver , host , cqueues_dns_record .AAAA , cqueues_dns_record .AAAA , timeout )
190193		end 
194+ 		n_records  =  # records 
191195		timeout  =  deadline  and  deadline - monotime ()
192196	end 
193197
@@ -204,8 +208,7 @@ local function connect(options, timeout)
204208
205209	local  lasterr , lasterrno  =  " The name does not resolve for the supplied parameters" 
206210	local  i  =  1 
207- 	local  n  =  # records 
208- 	while  i  <=  n  do 
211+ 	while  i  <=  n_records  do 
209212		local  rec  =  records [i ]
210213		connect_params .family  =  rec .family ;
211214		connect_params .host  =  rec .host ;
@@ -232,14 +235,14 @@ local function connect(options, timeout)
232235			--  If an address family is not supported then entirely remove that
233236			--  family from candidate records
234237			local  af  =  connect_params .family 
235- 			for  j = n , i + 1 , - 1  do 
238+ 			for  j = n_records , i + 1 , - 1  do 
236239				if  records [j ].family  ==  af  then 
237240					table.remove (records , j )
238- 					n  =  n  -  1 
241+ 					n_records  =  n_records  -  1 
239242				end 
240243			end 
241244			table.remove (records , i )
242- 			n  =  n  -  1 
245+ 			n_records  =  n_records  -  1 
243246		else 
244247			i  =  i  +  1 
245248		end 
0 commit comments