Mailing List Archive

[openssh] 01/01: Convert two macros into functions.
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@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@mindrot.org.
_______________________________________________
openssh-commits mailing list
openssh-commits@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-commits