diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index bb4a0fc1543..e81ae97d6f0 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -487,25 +487,25 @@ extern PGDLLIMPORT Node *newNodeMacroHolder; #define IsA(nodeptr,_type_) (nodeTag(nodeptr) == T_##_type_) /* - * castNode(type, ptr) casts ptr to type and, if cassert is enabled, verifies - * that the the c actually has the appropriate type (using it's nodeTag()). + * castNode(type, ptr) casts ptr to "type *", and if assertions are enabled, + * verifies that the node has the appropriate type (using its nodeTag()). * * Use an inline function when assertions are enabled, to avoid multiple - * evaluations of the ptr argument (which could e.g. be a function call). If - * inline functions are not available - only a small number of platforms - + * evaluations of the ptr argument (which could e.g. be a function call). + * If inline functions are not available - only a small number of platforms - * don't Assert, but use the non-checking version. */ #if defined(USE_ASSERT_CHECKING) && defined(PG_USE_INLINE) -static inline Node* -castNodeImpl(enum NodeTag type, void *ptr) +static inline Node * +castNodeImpl(NodeTag type, void *ptr) { Assert(ptr == NULL || nodeTag(ptr) == type); - return ptr; + return (Node *) ptr; } #define castNode(_type_, nodeptr) ((_type_ *) castNodeImpl(T_##_type_, nodeptr)) #else -#define castNode(_type_,nodeptr) ((_type_ *)(nodeptr)) -#endif +#define castNode(_type_, nodeptr) ((_type_ *) (nodeptr)) +#endif /* USE_ASSERT_CHECKING && PG_USE_INLINE */ /* ----------------------------------------------------------------