batman-adv: add seq_printf() wrapper for older kernels that don't support %pM

Message ID 1288043165-8144-1-git-send-email-lindner_marek@yahoo.de (mailing list archive)
State Accepted, archived
Headers

Commit Message

Marek Lindner Oct. 25, 2010, 9:46 p.m. UTC
  Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
---
 batman-adv/bat_printk.c |   18 ++++++++++++++++++
 batman-adv/compat.h     |    3 +++
 2 files changed, 21 insertions(+), 0 deletions(-)
  

Comments

Sven Eckelmann Oct. 25, 2010, 10:14 p.m. UTC | #1
Marek Lindner wrote:
> Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>

Acked-by: Sven Eckelmann <sven.eckelmann@gmx.de>
  
Marek Lindner Oct. 25, 2010, 10:24 p.m. UTC | #2
On Tuesday 26 October 2010 00:14:59 Sven Eckelmann wrote:
> Acked-by: Sven Eckelmann <sven.eckelmann@gmx.de>

Applied in revision 1854.

Regards,
Marek
  

Patch

diff --git a/batman-adv/bat_printk.c b/batman-adv/bat_printk.c
index 4fa3e18..69a7f95 100644
--- a/batman-adv/bat_printk.c
+++ b/batman-adv/bat_printk.c
@@ -935,3 +935,21 @@  int bat_snprintf(char *buf, size_t size, const char *fmt, ...)
 
 	return i;
 }
+
+int bat_seq_printf(struct seq_file *m, const char *f, ...)
+{
+	va_list args;
+	int len;
+
+	if (m->count < m->size) {
+		va_start(args, f);
+		len = bat_vsnprintf(m->buf + m->count, m->size - m->count, f, args);
+		va_end(args);
+		if (m->count + len < m->size) {
+			m->count += len;
+			return 0;
+		}
+	}
+	m->count = m->size;
+	return -1;
+}
diff --git a/batman-adv/compat.h b/batman-adv/compat.h
index da474e4..b01455f 100644
--- a/batman-adv/compat.h
+++ b/batman-adv/compat.h
@@ -259,6 +259,9 @@  int bat_sprintf(char *buf, const char *fmt, ...);
 int bat_snprintf(char *buf, size_t size, const char *fmt, ...);
 #define snprintf bat_snprintf
 
+int bat_seq_printf(struct seq_file *m, const char *f, ...);
+#define seq_printf bat_seq_printf
+
 #endif /* < KERNEL_VERSION(2, 6, 29) */
 
 #endif /* _NET_BATMAN_ADV_COMPAT_H_ */