mirror of
https://github.com/postgres/postgres.git
synced 2025-05-29 16:21:20 +03:00
Declare a couple of variables inside not outside a PG_TRY block.
I went through the buildfarm's reports of "warning: variable 'foo' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]". As usual, none of them are live problems according to my understanding of the effects of setjmp/longjmp, to wit that local variables might revert to their values as of PG_TRY entry, due to being kept in registers. But I did happen to notice that XmlTableGetValue's "cstr" variable doesn't need to be declared outside the PG_TRY block at all (thus giving further proof that the -Wclobbered warning has little connection to real problems). We might as well move it inside, and "cur" too, in hopes of eliminating one of the bogus warnings.
This commit is contained in:
parent
530f89e648
commit
bf9165bb0c
@ -4926,10 +4926,8 @@ XmlTableGetValue(TableFuncScanState *state, int colnum,
|
||||
Oid typid, int32 typmod, bool *isnull)
|
||||
{
|
||||
#ifdef USE_LIBXML
|
||||
XmlTableBuilderData *xtCxt;
|
||||
Datum result = (Datum) 0;
|
||||
xmlNodePtr cur;
|
||||
char *cstr = NULL;
|
||||
XmlTableBuilderData *xtCxt;
|
||||
volatile xmlXPathObjectPtr xpathobj = NULL;
|
||||
|
||||
xtCxt = GetXmlTableBuilderPrivateData(state, "XmlTableGetValue");
|
||||
@ -4943,13 +4941,15 @@ XmlTableGetValue(TableFuncScanState *state, int colnum,
|
||||
|
||||
*isnull = false;
|
||||
|
||||
cur = xtCxt->xpathobj->nodesetval->nodeTab[xtCxt->row_count - 1];
|
||||
|
||||
Assert(xtCxt->xpathscomp[colnum] != NULL);
|
||||
|
||||
PG_TRY();
|
||||
{
|
||||
xmlNodePtr cur;
|
||||
char *cstr = NULL;
|
||||
|
||||
/* Set current node as entry point for XPath evaluation */
|
||||
cur = xtCxt->xpathobj->nodesetval->nodeTab[xtCxt->row_count - 1];
|
||||
xtCxt->xpathcxt->node = cur;
|
||||
|
||||
/* Evaluate column path */
|
||||
|
Loading…
x
Reference in New Issue
Block a user