mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
Use non-literal format for possibly non-standard strftime formats.
Per recent -hackers discussion. The formats in question are %G and %V, and cause warnings on MinGW at least. We assume the ecpg application knows what it's doing if it passes these formats to the library.
This commit is contained in:
parent
ab0ba6e73a
commit
c49e4ae1f8
@ -501,8 +501,12 @@ dttofmtasc_replace(timestamp * ts, date dDate, int dow, struct tm * tm,
|
||||
* 4-digit year corresponding to the ISO week number.
|
||||
*/
|
||||
case 'G':
|
||||
{
|
||||
/* Keep compiler quiet - Don't use a literal format */
|
||||
const char *fmt = "%G";
|
||||
|
||||
tm->tm_mon -= 1;
|
||||
i = strftime(q, *pstr_len, "%G", tm);
|
||||
i = strftime(q, *pstr_len, fmt, tm);
|
||||
if (i == 0)
|
||||
return -1;
|
||||
while (*q)
|
||||
@ -512,6 +516,7 @@ dttofmtasc_replace(timestamp * ts, date dDate, int dow, struct tm * tm,
|
||||
}
|
||||
tm->tm_mon += 1;
|
||||
replace_type = PGTYPES_TYPE_NOTHING;
|
||||
}
|
||||
break;
|
||||
|
||||
/*
|
||||
@ -682,7 +687,11 @@ dttofmtasc_replace(timestamp * ts, date dDate, int dow, struct tm * tm,
|
||||
* decimal number.
|
||||
*/
|
||||
case 'V':
|
||||
i = strftime(q, *pstr_len, "%V", tm);
|
||||
{
|
||||
/* Keep compiler quiet - Don't use a literal format */
|
||||
const char *fmt = "%V";
|
||||
|
||||
i = strftime(q, *pstr_len, fmt, tm);
|
||||
if (i == 0)
|
||||
return -1;
|
||||
while (*q)
|
||||
@ -691,6 +700,7 @@ dttofmtasc_replace(timestamp * ts, date dDate, int dow, struct tm * tm,
|
||||
(*pstr_len)--;
|
||||
}
|
||||
replace_type = PGTYPES_TYPE_NOTHING;
|
||||
}
|
||||
break;
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user