New coding for SET provoked a 'var might be used uninitialized' warning

from gcc.  Which wasn't actually a code bug, but I don't like warnings.
This commit is contained in:
Tom Lane 2000-03-31 02:11:03 +00:00
parent be1d9fea15
commit 5717dcb8a7
1 changed files with 11 additions and 20 deletions

View File

@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.165 2000/03/30 06:02:36 thomas Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.166 2000/03/31 02:11:03 tgl Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@ -720,8 +720,8 @@ var_value: Sconst
}
| FCONST
{
/* Floating pumeric argument?
* This recently changed to preserve "stringiness" until here,
/* Floating numeric argument.
* This recently changed to preserve "stringiness",
* so we don't have any work to do at all. Nice.
* - thomas 2000-03-29
*/
@ -729,30 +729,21 @@ var_value: Sconst
}
| Iconst
{
char *result;
char buf[64];
/* Integer pumeric argument?
/* Integer numeric argument.
*/
if (sprintf(buf, "%d", $1) != 1)
{
result = pstrdup(buf);
}
else
elog(ERROR, "Unable to convert constant to string (internal error)");
$$ = result;
sprintf(buf, "%d", $1);
$$ = pstrdup(buf);
}
| name_list
{
List *n;
int llen, slen = 0;
int slen = 0;
char *result;
llen = length($1);
/* List of words? Then concatenate together */
if (llen < 1)
if ($1 == NIL)
elog(ERROR, "SET must have at least one argument");
foreach (n, $1)
@ -5300,7 +5291,7 @@ UserId: IDENT { $$ = $1; };
* some of these keywords will have to be removed from this
* list due to shift/reduce conflicts in yacc. If so, move
* down to the ColLabel entity. - thomas 1997-11-06
* These show up as operators, ans will screw up the parsing if
* These show up as operators, and will screw up the parsing if
* allowed as identifiers or labels.
* Thanks to Tom Lane for pointing this out. - thomas 2000-03-29
| BETWEEN { $$ = "between"; }
@ -5442,7 +5433,7 @@ ColId: IDENT { $$ = $1; }
* Add other keywords to this list. Note that they appear here
* rather than in ColId if there was a shift/reduce conflict
* when used as a full identifier. - thomas 1997-11-06
* These show up as operators, ans will screw up the parsing if
* These show up as operators, and will screw up the parsing if
* allowed as identifiers or labels.
* Thanks to Tom Lane for pointing this out. - thomas 2000-03-29
| ALL { $$ = "all"; }
@ -5452,7 +5443,7 @@ ColId: IDENT { $$ = $1; }
| LIKE { $$ = "like"; }
| NOT { $$ = "not"; }
| NULLIF { $$ = "nullif"; }
| NULL_P { $$ = "null_p"; }
| NULL_P { $$ = "null"; }
| OR { $$ = "or"; }
| UNION { $$ = "union"; }
*/