From bb7a3a740cad66c8ecb70adf27b790202d0396a2 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 2 Mar 2005 14:48:22 +0000 Subject: [PATCH] Use our own snprintf() only if NLS is enabled, and support %qd and %I64d. --- configure | 3 ++- configure.in | 5 +++-- src/port/snprintf.c | 19 ++++++++++++++++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 6414cb4186..6fc23b5344 100755 --- a/configure +++ b/configure @@ -14527,7 +14527,8 @@ fi # Force use of our snprintf if system's doesn't do arg control -if test $pgac_need_repl_snprintf = no; then +# This feature is used by NLS +if test "$enable_nls" = yes -a $pgac_need_repl_snprintf = no; then echo "$as_me:$LINENO: checking whether printf supports argument control" >&5 echo $ECHO_N "checking whether printf supports argument control... $ECHO_C" >&6 if test "${pgac_cv_printf_arg_control+set}" = set; then diff --git a/configure.in b/configure.in index 073ea042f6..43dce5d3e2 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $PostgreSQL: pgsql/configure.in,v 1.403 2005/02/28 20:55:18 tgl Exp $ +dnl $PostgreSQL: pgsql/configure.in,v 1.404 2005/03/02 14:48:22 momjian Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -1067,7 +1067,8 @@ AC_MSG_ERROR([[ # Force use of our snprintf if system's doesn't do arg control -if test $pgac_need_repl_snprintf = no; then +# This feature is used by NLS +if test "$enable_nls" = yes -a $pgac_need_repl_snprintf = no; then PGAC_FUNC_PRINTF_ARG_CONTROL if test $pgac_cv_printf_arg_control != yes ; then pgac_need_repl_snprintf=yes diff --git a/src/port/snprintf.c b/src/port/snprintf.c index cba8ad5b1c..6448639364 100644 --- a/src/port/snprintf.c +++ b/src/port/snprintf.c @@ -65,7 +65,7 @@ * causing nasty effects. **************************************************************/ -/*static char _id[] = "$PostgreSQL: pgsql/src/port/snprintf.c,v 1.12 2005/03/02 05:22:22 momjian Exp $";*/ +/*static char _id[] = "$PostgreSQL: pgsql/src/port/snprintf.c,v 1.13 2005/03/02 14:48:22 momjian Exp $";*/ int snprintf(char *str, size_t count, const char *fmt,...); int vsnprintf(char *str, size_t count, const char *fmt, va_list args); @@ -259,6 +259,23 @@ dopr(char *buffer, const char *format, va_list args, char *end) else longflag = 1; goto nextch; + /* + * We might export this to client apps so we should + * support 'qd' and 'I64d'(MinGW) also in case the + * native version does. + */ + case 'q': + longlongflag = 1; + longflag = 1; + goto nextch; + case 'I': + if (*(format+1) == '6' && *(format+2) == '4') + { + format += 2; + longlongflag = 1; + longflag = 1; + goto nextch; + } case 'u': case 'U': /* fmtnum(value,base,dosign,ljust,len,zpad,&output) */ -- 2.40.0