<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>