]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Cast result of copyObject() to correct type
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 9 Mar 2017 20:18:59 +0000 (15:18 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 29 Mar 2017 01:59:23 +0000 (21:59 -0400)
commit4cb824699e12c39fad97fb3d9085ced0d14c067c
tree9a835d8efb7739e6436d3fc24b4b5a290b95df7d
parent66b764341ba12206f01e2600713bdc3abdb070b3
Cast result of copyObject() to correct type

copyObject() is declared to return void *, which allows easily assigning
the result independent of the input, but it loses all type checking.

If the compiler supports typeof or something similar, cast the result to
the input type.  This creates a greater amount of type safety.  In some
cases, where the result is assigned to a generic type such as Node * or
Expr *, new casts are now necessary, but in general casts are now
unnecessary in the normal case and indicate that something unusual is
happening.

Reviewed-by: Mark Dilger <hornschnorter@gmail.com>
36 files changed:
config/c-compiler.m4
configure
configure.in
src/backend/bootstrap/bootstrap.c
src/backend/commands/copy.c
src/backend/commands/createas.c
src/backend/commands/event_trigger.c
src/backend/commands/prepare.c
src/backend/commands/view.c
src/backend/nodes/copyfuncs.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/plan/planagg.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/plan/setrefs.c
src/backend/optimizer/plan/subselect.c
src/backend/optimizer/prep/prepjointree.c
src/backend/optimizer/prep/preptlist.c
src/backend/optimizer/prep/prepunion.c
src/backend/optimizer/util/tlist.c
src/backend/parser/analyze.c
src/backend/parser/gram.y
src/backend/parser/parse_clause.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_relation.c
src/backend/parser/parse_utilcmd.c
src/backend/rewrite/rewriteHandler.c
src/backend/rewrite/rewriteManip.c
src/backend/tcop/postgres.c
src/backend/utils/cache/plancache.c
src/backend/utils/cache/relcache.c
src/include/nodes/nodes.h
src/include/optimizer/tlist.h
src/include/pg_config.h.in
src/include/pg_config.h.win32