]> source.dussan.org Git - tigervnc.git/commitdiff
[Portability] Implemented snprintf() function to support old compilers
authorAdam Tkac <atkac@redhat.com>
Wed, 3 Dec 2008 14:18:19 +0000 (14:18 +0000)
committerAdam Tkac <atkac@redhat.com>
Wed, 3 Dec 2008 14:18:19 +0000 (14:18 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3290 3789f03b-4d11-0410-bbf8-ca57d06f2519

common/common-config.win.h
common/configure.ac
common/network/TcpSocket.cxx
common/os/print.c
common/os/print.h

index e68d37249681b38191345d77b9573b36aa64b1f9..b984fb40631871a48e7ca4a8c1068f1b09ffba83 100644 (file)
@@ -2,3 +2,6 @@
 
 #define HAVE_VSNPRINTF 1
 #define vsnprintf _vsnprintf
+
+#define HAVE_SNPRINTF 1
+#define snprintf _snprintf
index a9fe241a4b059f7adb9b065cbda96d911c1f2964..25aa5f094a970ee406abcd8bca20f3de8b9f856a 100644 (file)
@@ -78,7 +78,7 @@ AC_ARG_WITH([included-jpeg],
 AM_CONDITIONAL([INCLUDED_JPEG], [ test "x$INCLUDED_JPEG" = xyes ])
 AC_CONFIG_SUBDIRS([jpeg])
 
-AC_CHECK_FUNCS_ONCE([vsnprintf strcasecmp strncasecmp getaddrinfo])
+AC_CHECK_FUNCS_ONCE([vsnprintf snprintf strcasecmp strncasecmp getaddrinfo])
 
 AC_CHECK_TYPES([socklen_t],
        [AC_DEFINE([VNC_SOCKLEN_T], [socklen_t], [Use correct size])],
index a45e535b5aa9ee295c85fee9d5bd7422becae466..4a37d01c5d2d454cca124d026d5a66524e42110f 100644 (file)
@@ -24,7 +24,6 @@
 //#include <io.h>
 #include <winsock2.h>
 #define errorNumber WSAGetLastError()
-#define snprintf _snprintf
 #ifndef VNC_SOCKLEN_T
 #define VNC_SOCKLEN_T int
 #endif
index f24717fbb6ad84427ebc8cc52ff9fb4006a362f1..0f26de36888b7670d6974089db82854610a14615 100644 (file)
@@ -89,3 +89,16 @@ int tight_vsnprintf(char *str, size_t n, const char *format, va_list ap) {
 }
 #endif /* HAVE_VSNPRINTF */
 
+#ifndef HAVE_SNPRINTF
+int tight_snprintf(char *str, size_t n, const char *format, ...) {
+       va_list ap;
+       int written;
+
+       va_start(ap, format);
+       written = vsnprintf(str, n, format, ap);
+       va_end(ap);
+
+       return written;
+}
+#endif /* HAVE_SNPRINTF */
+
index 47893adf21dfd58786448b712bab10ff593775ab..523f3a1f11369c65f406be341eac71687badb9ea 100644 (file)
@@ -48,6 +48,12 @@ int tight_vsnprintf(char *str, size_t n, const char *format, va_list ap);
 #define vsnprintf tight_vsnprintf
 #endif
 
+#ifndef HAVE_SNPRINTF
+/* Inherits tight_vsnprintf limitations if vsnprintf is not present */
+int tight_snprintf(char *str, size_t n, const char *format, ...);
+#define snprintf tight_snprintf
+#endif
+
 #ifdef __cplusplus
 };
 #endif