add platform_set_snprintf
diff --git a/include/polarssl/platform.h b/include/polarssl/platform.h
index 127b7fe..4844d2d 100644
--- a/include/polarssl/platform.h
+++ b/include/polarssl/platform.h
@@ -50,6 +50,9 @@
 #if !defined(POLARSSL_PLATFORM_NO_STD_FUNCTIONS)
 #include <stdio.h>
 #include <stdlib.h>
+#if !defined(POLARSSL_PLATFORM_STD_SNPRINTF)
+#define POLARSSL_PLATFORM_STD_SNPRINTF   snprintf /**< Default snprintf to use  */
+#endif
 #if !defined(POLARSSL_PLATFORM_STD_PRINTF)
 #define POLARSSL_PLATFORM_STD_PRINTF   printf /**< Default printf to use  */
 #endif
@@ -93,6 +96,25 @@
 #endif /* POLARSSL_PLATFORM_MEMORY */
 
 /*
+ * The function pointers for snprintf
+ */
+#if defined(POLARSSL_PLATFORM_SNPRINTF_ALT)
+extern int (*polarssl_snprintf)( char * s, size_t n, const char * format, ... );
+
+/**
+ * \brief   Set your own snprintf function pointer
+ *
+ * \param snprintf_func   the snprintf function implementation
+ *
+ * \return              0
+ */
+int platform_set_snprintf( int (*snprintf_func)( char * s, size_t n,
+                                                 const char * format, ... ) );
+#else /* POLARSSL_PLATFORM_SNPRINTF_ALT */
+#define polarssl_snprintf   snprintf
+#endif /* POLARSSL_PLATFORM_SNPRINTF_ALT */
+
+/*
  * The function pointers for printf
  */
 #if defined(POLARSSL_PLATFORM_PRINTF_ALT)