<pre style='margin:0'>
Zero King (l2dy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/02015289899c2fa4eae68b87a19c930caec4ba76">https://github.com/macports/macports-ports/commit/02015289899c2fa4eae68b87a19c930caec4ba76</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 0201528  iperf3-devel: getline() workaround for OSX <= 10.6
</span>0201528 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 02015289899c2fa4eae68b87a19c930caec4ba76
</span>Author: Allan Que <allan.que@gmail.com>
AuthorDate: Mon Jun 26 13:46:10 2017 -0500

<span style='display:block; white-space:pre;color:#404040;'>    iperf3-devel: getline() workaround for OSX <= 10.6
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    I will submit this workaround upstream once buildbot
</span><span style='display:block; white-space:pre;color:#404040;'>    confirms it built successfully.
</span>---
 net/iperf3/Portfile                    |  3 +-
 net/iperf3/files/patch-iperf_util.diff | 78 ++++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/iperf3/Portfile b/net/iperf3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 44283df..da37498 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/iperf3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/iperf3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,12 +34,13 @@ post-destroot {
</span> subport ${name}-devel {
     github.setup        esnet iperf 4f3a7a5403b61f49ab277d0756e87c651a45bdfe
     version             20170620
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision            2
</span> 
     checksums           rmd160  7a72ece6402ae52e2df464ad74af068bd00b4ea6 \
                         sha256  591867e864deb355b8d67d39afce34a963e9ca6d3a12a29b93fc336edc29c666
 
     depends_lib-append  port:openssl
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles          patch-iperf_util.diff
</span> 
     conflicts           ${name}
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/iperf3/files/patch-iperf_util.diff b/net/iperf3/files/patch-iperf_util.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..5dcdb4d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/iperf3/files/patch-iperf_util.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,78 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/iperf_util.c       2017-06-20 17:04:30.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/iperf_util.c       2017-06-26 13:30:16.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -338,6 +338,75 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return features;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED <= 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static const int line_size = 128;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static ssize_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++getdelim (char **lineptr, size_t *n, int delim, FILE *stream);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static ssize_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++getline (char **lineptr, size_t *n, FILE *stream);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static ssize_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++getdelim (char **lineptr, size_t *n, int delim, FILE *stream)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int indx = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    /* Sanity checks.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (lineptr == NULL || n == NULL || stream == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    /* Allocate the line the first time.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (*lineptr == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        *lineptr = malloc (line_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (*lineptr == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        *n = line_size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    /* Clear the line.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    memset (*lineptr, '\0', *n);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    while ((c = getc (stream)) != EOF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        /* Check if more memory is needed.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (indx >= *n)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            *lineptr = realloc (*lineptr, *n + line_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if (*lineptr == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              return -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            /* Clear the rest of the line.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            memset(*lineptr + *n, '\0', line_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            *n += line_size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        /* Push the result in the line.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        (*lineptr)[indx++] = c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        /* Bail out.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (c == delim)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (c == EOF) ? -1 : indx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static ssize_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++getline (char **lineptr, size_t *n, FILE *stream)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return getdelim (lineptr, n, '\n', stream);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Helper routine for building cJSON objects in a printf-like manner.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ **
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ** Sample call:
</span></pre><pre style='margin:0'>

</pre>