aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-03-02 14:48:22 +0000
committerBruce Momjian <bruce@momjian.us>2005-03-02 14:48:22 +0000
commitbb7a3a740cad66c8ecb70adf27b790202d0396a2 (patch)
tree2b584fcd056027ead54275f456510d15985733ad
parent70d4a9343f4a06ae1344b6a1622fce7ed89743fc (diff)
downloadpostgresql-bb7a3a740cad66c8ecb70adf27b790202d0396a2.tar.gz
postgresql-bb7a3a740cad66c8ecb70adf27b790202d0396a2.zip
Use our own snprintf() only if NLS is enabled, and support %qd and %I64d.
-rwxr-xr-xconfigure3
-rw-r--r--configure.in5
-rw-r--r--src/port/snprintf.c19
3 files changed, 23 insertions, 4 deletions
diff --git a/configure b/configure
index 6414cb41864..6fc23b53442 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 073ea042f63..43dce5d3e21 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 cba8ad5b1cc..64486393646 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) */