This patch uses our own snprintf() only when NLS support is enabled, and
I added support for %qd and %I64d in snprintf.  We might need those in
the final version if it is exported to apps.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: configure
===================================================================
RCS file: /cvsroot/pgsql/configure,v
retrieving revision 1.430
diff -c -c -r1.430 configure
*** configure   28 Feb 2005 20:55:18 -0000      1.430
--- configure   2 Mar 2005 14:30:16 -0000
***************
*** 14527,14533 ****
  
  
  # Force use of our snprintf if system's doesn't do arg control
! if test $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
--- 14527,14534 ----
  
  
  # Force use of our snprintf if system's doesn't do arg control
! # 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: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.403
diff -c -c -r1.403 configure.in
*** configure.in        28 Feb 2005 20:55:18 -0000      1.403
--- configure.in        2 Mar 2005 14:30:20 -0000
***************
*** 1067,1073 ****
  
  
  # Force use of our snprintf if system's doesn't do arg control
! if test $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
--- 1067,1074 ----
  
  
  # Force use of our snprintf if system's doesn't do arg control
! # 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: src/port/snprintf.c
===================================================================
RCS file: /cvsroot/pgsql/src/port/snprintf.c,v
retrieving revision 1.12
diff -c -c -r1.12 snprintf.c
*** src/port/snprintf.c 2 Mar 2005 05:22:22 -0000       1.12
--- src/port/snprintf.c 2 Mar 2005 14:30:26 -0000
***************
*** 259,264 ****
--- 259,281 ----
                                                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) */
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to