Commit fefb86b1 authored by Tom Lane's avatar Tom Lane

Orthography fixes for new castNode() macro.

Clean up hastily-composed comment.  Normalize whitespace.

Erik Rijkers and myself
parent 7afd56c3
...@@ -559,23 +559,23 @@ extern PGDLLIMPORT Node *newNodeMacroHolder; ...@@ -559,23 +559,23 @@ extern PGDLLIMPORT Node *newNodeMacroHolder;
#define IsA(nodeptr,_type_) (nodeTag(nodeptr) == T_##_type_) #define IsA(nodeptr,_type_) (nodeTag(nodeptr) == T_##_type_)
/* /*
* castNode(type, ptr) casts ptr to type and, if cassert is enabled, verifies * castNode(type, ptr) casts ptr to "type *", and if assertions are enabled,
* that the the c actually has the appropriate type (using it's nodeTag()). * verifies that the node has the appropriate type (using its nodeTag()).
* *
* Use an inline function when assertions are enabled, to avoid multiple * Use an inline function when assertions are enabled, to avoid multiple
* evaluations of the ptr argument (which could e.g. be a function call). * evaluations of the ptr argument (which could e.g. be a function call).
*/ */
#ifdef USE_ASSERT_CHECKING #ifdef USE_ASSERT_CHECKING
static inline Node* static inline Node *
castNodeImpl(enum NodeTag type, void *ptr) castNodeImpl(NodeTag type, void *ptr)
{ {
Assert(ptr == NULL || nodeTag(ptr) == type); Assert(ptr == NULL || nodeTag(ptr) == type);
return ptr; return (Node *) ptr;
} }
#define castNode(_type_, nodeptr) ((_type_ *) castNodeImpl(T_##_type_, nodeptr)) #define castNode(_type_, nodeptr) ((_type_ *) castNodeImpl(T_##_type_, nodeptr))
#else #else
#define castNode(_type_,nodeptr) ((_type_ *)(nodeptr)) #define castNode(_type_, nodeptr) ((_type_ *) (nodeptr))
#endif #endif /* USE_ASSERT_CHECKING */
/* ---------------------------------------------------------------- /* ----------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment