mirror of
https://github.com/postgres/postgres.git
synced 2025-05-17 06:41:24 +03:00
Backpatch to 7.4 the part of 1.84 (from the 8.0 timeline) that wasn't already
patched, viz. str_numth(). The rest of that patch was already applied as part of 1.69.2.1. Per report and patch from Andreas 'ads' Scherbaum. The involved revisions were: revision 1.84 date: 2005-01-12 22:40:13 -0300; author: tgl; state: Exp; lines: +9 -7; branches: 1.84.4; Remove unportable assumption that it's okay to use the target buffer of an sprintf() as a source string. Demonstrably does not work with recent gcc and/or glibc on some platforms. and revision 1.69.2.1 date: 2005-03-25 20:42:21 -0400; author: tgl; state: Exp; lines: +24 -8; Prevent to_char(interval) from dumping core on month-related formats when a zero-month interval is given. Per discussion with Karel.
This commit is contained in:
parent
e3a4d5cf8c
commit
b379d53c30
@ -1,7 +1,7 @@
|
|||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
* formatting.c
|
* formatting.c
|
||||||
*
|
*
|
||||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/formatting.c,v 1.69.2.2 2007/06/29 01:52:14 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/backend/utils/adt/formatting.c,v 1.69.2.3 2009/01/13 15:28:42 alvherre Exp $
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Portions Copyright (c) 1999-2003, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1999-2003, PostgreSQL Global Development Group
|
||||||
@ -1444,7 +1444,9 @@ get_th(char *num, int type)
|
|||||||
static char *
|
static char *
|
||||||
str_numth(char *dest, char *num, int type)
|
str_numth(char *dest, char *num, int type)
|
||||||
{
|
{
|
||||||
sprintf(dest, "%s%s", num, get_th(num, type));
|
if (dest != num)
|
||||||
|
strcpy(dest, num);
|
||||||
|
strcat(dest, get_th(num, type));
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2097,7 +2099,6 @@ dch_date(int arg, char *inout, int suf, int flag, FormatNode *node, void *data)
|
|||||||
|
|
||||||
switch (arg)
|
switch (arg)
|
||||||
{
|
{
|
||||||
|
|
||||||
case DCH_A_D:
|
case DCH_A_D:
|
||||||
case DCH_B_C:
|
case DCH_B_C:
|
||||||
if (flag == TO_CHAR)
|
if (flag == TO_CHAR)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user