Fix some compiler warnings with timestamp parsing in formatting.c
gcc-7 used with a sufficient optimization level complains about warnings around do_to_timestamp() regarding the initialization and handling of some of its variables. Recent commits 66c74f8 and d589f94 made things made the interface more confusing, so document which variables are always expected and initialize properly the optional ones when they are set. Author: Andrey Lepikhov, Michael Paquier Discussion: https://postgr.es/m/a7e28b83-27b1-4e1c-c76b-4268c4b785bc@postgrespro.ru
This commit is contained in:
parent
8729fa7248
commit
c341c7d391
@ -4128,7 +4128,7 @@ parse_datetime(text *date_txt, text *fmt, bool strict, Oid *typid,
|
||||
{
|
||||
struct pg_tm tm;
|
||||
fsec_t fsec;
|
||||
int fprec = 0;
|
||||
int fprec;
|
||||
uint32 flags;
|
||||
|
||||
do_to_timestamp(date_txt, fmt, strict, &tm, &fsec, &fprec, &flags, have_error);
|
||||
@ -4318,11 +4318,18 @@ do_to_timestamp(text *date_txt, text *fmt, bool std,
|
||||
int fmask;
|
||||
bool incache = false;
|
||||
|
||||
Assert(tm != NULL);
|
||||
Assert(fsec != NULL);
|
||||
|
||||
date_str = text_to_cstring(date_txt);
|
||||
|
||||
ZERO_tmfc(&tmfc);
|
||||
ZERO_tm(tm);
|
||||
*fsec = 0;
|
||||
if (fprec)
|
||||
*fprec = 0;
|
||||
if (flags)
|
||||
*flags = 0;
|
||||
fmask = 0; /* bit mask for ValidateDate() */
|
||||
|
||||
fmt_len = VARSIZE_ANY_EXHDR(fmt);
|
||||
|
Loading…
x
Reference in New Issue
Block a user