snprintf improvements - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | snprintf improvements |
Date | |
Msg-id | 200503021448.j22Em7p28519@candle.pha.pa.us Whole thread Raw |
Responses |
Re: snprintf improvements
Re: snprintf improvements |
List | pgsql-patches |
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) */
pgsql-patches by date: