<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/68738ff7f46a26a8e8501a67ccddfdc6a9bb8a47">https://github.com/macports/macports-legacy-support/commit/68738ff7f46a26a8e8501a67ccddfdc6a9bb8a47</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 68738ff7f46a26a8e8501a67ccddfdc6a9bb8a47
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Fri Sep 27 20:33:47 2024 -0700
<span style='display:block; white-space:pre;color:#404040;'> Add vdprintf() support.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Also rewrites dprintf() to be a wrapper around vdprintf(), rather than
</span><span style='display:block; white-space:pre;color:#404040;'> duplicating the "guts".
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Based on some work by raf <raf@raf.org>
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Passes updated test.
</span>---
README.md | 2 +-
include/MacportsLegacySupport.h | 2 +-
include/stdio.h | 1 +
src/dprintf.c | 18 ++++++++++++++----
4 files changed, 17 insertions(+), 6 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/README.md b/README.md
</span><span style='display:block; white-space:pre;color:#808080;'>index 3be260c..29e6b7b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/README.md
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/README.md
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,7 +70,7 @@ Wrapped headers and replaced functions are:
</span> </tr>
<tr>
<td><code>stdio.h</code></td>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- <td>Adds <code>dprintf</code>, <code>getline</code>, <code>getdelim</code>,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <td>Adds <code>dprintf</code>, <code>vdprintf</code>, <code>getline</code>, <code>getdelim</code>,
</span> <code>open_memstream</code>, and <code>fmemopen</code> functions</td>
<td>OSX10.6, OSX10.12 (open_memstream)</td>
</tr>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/MacportsLegacySupport.h b/include/MacportsLegacySupport.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 99e1ba9..ec26370 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/MacportsLegacySupport.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/MacportsLegacySupport.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -176,7 +176,7 @@
</span> #define __MPLS_SDK_SUPPORT_STRNDUP__ (__MPLS_SDK_MAJOR < 1070)
#define __MPLS_LIB_SUPPORT_STRNDUP__ (__MPLS_TARGET_OSVER < 1070)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-/* dprintf */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* dprintf, vdprintf */
</span> #define __MPLS_SDK_SUPPORT_DPRINTF__ (__MPLS_SDK_MAJOR < 1070)
#define __MPLS_LIB_SUPPORT_DPRINTF__ (__MPLS_TARGET_OSVER < 1070)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/stdio.h b/include/stdio.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 68cff34..6549aed 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/stdio.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/stdio.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,6 +37,7 @@
</span>
__MP__BEGIN_DECLS
extern int dprintf(int fd, const char * __restrict format, ...);
<span style='display:block; white-space:pre;background:#e0ffe0;'>+extern int vdprintf(int fd, const char * __restrict format, va_list ap);
</span> __MP__END_DECLS
#endif /* __MPLS_SDK_SUPPORT_DPRINTF__ */
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/dprintf.c b/src/dprintf.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 1ef7bd7..4bdc47c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/dprintf.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/dprintf.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -16,6 +16,7 @@
</span>
/* MP support header */
#include "MacportsLegacySupport.h"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #if __MPLS_LIB_SUPPORT_DPRINTF__
#include <errno.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,8 +25,7 @@
</span> #include <unistd.h>
int
<span style='display:block; white-space:pre;background:#ffe0e0;'>-dprintf(int fildes, const char * __restrict format, ...) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- va_list ap;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+vdprintf(int fildes, const char * __restrict format, va_list ap) {
</span> FILE *stream;
int ret;
char buf[BUFSIZ];
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,9 +39,7 @@ dprintf(int fildes, const char * __restrict format, ...) {
</span> setbuffer(stream, buf, sizeof(buf));
/* Do the output. */
<span style='display:block; white-space:pre;background:#ffe0e0;'>- va_start(ap, format);
</span> ret = vfprintf(stream, format, ap);
<span style='display:block; white-space:pre;background:#ffe0e0;'>- va_end(ap);
</span>
/*
* Close the FILE and the duplicate fd.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,4 +53,16 @@ dprintf(int fildes, const char * __restrict format, ...) {
</span> return ret;
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dprintf(int fildes, const char * __restrict format, ...) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ va_list ap;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ va_start(ap, format);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ret = vdprintf(fildes, format, ap);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ va_end(ap);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #endif /* __MPLS_LIB_SUPPORT_DPRINTF__ */
</pre><pre style='margin:0'>
</pre>