add printf data sender
diff --git a/libtelnet.c b/libtelnet.c
index cf786a9..8ac3a31 100644
--- a/libtelnet.c
+++ b/libtelnet.c
@@ -855,3 +855,20 @@
 	_event(telnet, LIBTELNET_EV_COMPRESS, 1, 0, 0, 0);
 #endif /* HAVE_ZLIB */
 }
+
+/* send formatted data through libtelnet_send_data */
+int libtelnet_send_printf(libtelnet_t *telnet, const char *fmt, ...) {
+	char buffer[4096];
+	va_list va;
+	int rs;
+
+	/* format */
+	va_start(va, fmt);
+	rs = vsnprintf(buffer, sizeof(buffer), fmt, va);
+	va_end(va);
+
+	/* send */
+	libtelnet_send_data(telnet, (unsigned char *)buffer, rs);
+
+	return rs;
+}