mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-30 19:00:29 +08:00
Orthography fixes for new castNode() macro.
Clean up hastily-composed comment. Normalize whitespace. Erik Rijkers and myself
This commit is contained in:
parent
332068a212
commit
ae145306ca
@ -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 */
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user