[openssh-commits] [openssh] 01/01: Convert two macros into functions.

git+noreply at mindrot.org git+noreply at mindrot.org
Tue Feb 24 12:35:24 AEDT 2015


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit dcc8997d116f615195aa7c9ec019fb36c28c6228
Author: Darren Tucker <dtucker at zip.com.au>
Date:   Tue Feb 24 12:30:59 2015 +1100

    Convert two macros into functions.
    
    Convert packet_send_debug and packet_disconnect from macros to
    functions.  Some older GCCs (2.7.x, 2.95.x) see to have problems with
    variadic macros with only one argument so we convert these two into
    functions.  ok djm@
---
 opacket.c | 24 ++++++++++++++++++++++++
 opacket.h |  9 +++++----
 2 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/opacket.c b/opacket.c
index dd443c3..5eae633 100644
--- a/opacket.c
+++ b/opacket.c
@@ -319,3 +319,27 @@ packet_read_expect(int expected_type)
 	if ((r = ssh_packet_read_expect(active_state, expected_type)) != 0)
 		sshpkt_fatal(active_state, __func__, r);
 }
+
+void
+packet_disconnect(const char *fmt, ...)
+{
+	char buf[1024];
+	va_list args;
+
+	va_start(args, fmt);
+	vsnprintf(buf, sizeof(buf), fmt, args);
+	va_end(args);
+	ssh_packet_disconnect(active_state, "%s", buf);
+}
+
+void
+packet_send_debug(const char *fmt, ...)
+{
+	char buf[1024];
+	va_list args;
+
+	va_start(args, fmt);
+	vsnprintf(buf, sizeof(buf), fmt, args);
+	va_end(args);
+	ssh_packet_send_debug(active_state, "%s", buf);
+}
diff --git a/opacket.h b/opacket.h
index 16fcb9e..a0a60e5 100644
--- a/opacket.h
+++ b/opacket.h
@@ -102,10 +102,11 @@ void	 packet_read_expect(int expected_type);
 	ssh_packet_get_string_ptr(active_state, (length_ptr))
 #define packet_get_cstring(length_ptr) \
 	ssh_packet_get_cstring(active_state, (length_ptr))
-#define packet_send_debug(fmt, args...) \
-	ssh_packet_send_debug(active_state, (fmt), ##args)
-#define packet_disconnect(fmt, args...) \
-	ssh_packet_disconnect(active_state, (fmt), ##args)
+void	packet_send_debug(const char *, ...)
+	    __attribute__((format(printf, 1, 2)));
+void	packet_disconnect(const char *, ...)
+	    __attribute__((format(printf, 1, 2)))
+	    __attribute__((noreturn));
 #define packet_have_data_to_write() \
 	ssh_packet_have_data_to_write(active_state)
 #define packet_not_very_much_data_to_write() \

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list