<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/cee74bb45141be217449c04ee0acd4cb22042dbe">https://github.com/macports/macports-base/commit/cee74bb45141be217449c04ee0acd4cb22042dbe</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new cee74bb  Process ping output without using grep or cut
</span>cee74bb is described below

<span style='display:block; white-space:pre;color:#808000;'>commit cee74bb45141be217449c04ee0acd4cb22042dbe
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Wed May 20 14:24:17 2020 -0500

<span style='display:block; white-space:pre;color:#404040;'>    Process ping output without using grep or cut
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Process ping output using Tcl rather than by spawning grep and cut
</span><span style='display:block; white-space:pre;color:#404040;'>    processes.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://trac.macports.org/ticket/60509
</span>---
 src/port1.0/fetch_common.tcl | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/fetch_common.tcl b/src/port1.0/fetch_common.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 23bc103..10d3f7a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/fetch_common.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/fetch_common.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -263,7 +263,7 @@ proc portfetch::sortsites {urls default_listvar} {
</span>                 # first check the persistent cache
                 set pingtimes($host) [get_pingtime $host]
                 if {$pingtimes($host) eq {}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    if {[catch {set fds($host) [open "|ping -noq -c3 -t3 $host | grep round-trip | cut -d / -f 5"]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {[catch {set fds($host) [open "|ping -noq -c3 -t3 $host"]}]} {
</span>                         ui_debug "Spawning ping for $host failed"
                         # will end up after all hosts that were pinged OK but before those that didn't respond
                         set pingtimes($host) 5000
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -276,7 +276,13 @@ proc portfetch::sortsites {urls default_listvar} {
</span>         }
 
         foreach host $hosts {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            gets $fds($host) pingtimes($host)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set pingtimes($host) ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            while {[gets $fds($host) pingline] >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[string match round-trip* $pingline]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set pingtimes($host) [lindex [split $pingline /] 4]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>             if { [catch { close $fds($host) }] || ![string is double -strict $pingtimes($host)] } {
                 # ping failed, so put it last in the list
                 set pingtimes($host) 10000
</pre><pre style='margin:0'>

</pre>