]> granicus.if.org Git - postgresql/commitdiff
Use our own snprintf() only if NLS is enabled, and support %qd and %I64d.
authorBruce Momjian <bruce@momjian.us>
Wed, 2 Mar 2005 14:48:22 +0000 (14:48 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 2 Mar 2005 14:48:22 +0000 (14:48 +0000)
configure
configure.in
src/port/snprintf.c

index 6414cb41864087166c2e8fe088105f4b8a77cc2a..6fc23b53442ea9b46db187719c4818f5d115767a 100755 (executable)
--- 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
index 073ea042f632019e2ff92af9e44482cb5a0b2301..43dce5d3e21aec1d85e680bdca3773e34cf8f975 100644 (file)
@@ -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
index cba8ad5b1cc73efeba0dfcddb6ac601f75f2c445..64486393646a0dfea258d35e77acbc245f9840b3 100644 (file)
@@ -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) */