diff --git a/node.h b/node.h index dff7613936..bfc7493e50 100644 --- a/node.h +++ b/node.h @@ -74,7 +74,7 @@ RUBY_SYMBOL_EXPORT_END #define NODE_LSHIFT (NODE_TYPESHIFT+7) #define NODE_LMASK (((SIGNED_VALUE)1<<(sizeof(VALUE)*CHAR_BIT-NODE_LSHIFT))-1) -#define nd_line(n) (int)(((SIGNED_VALUE)(n)->flags)>>NODE_LSHIFT) +#define nd_line(n) (int)((n) ? ((SIGNED_VALUE)(n)->flags)>>NODE_LSHIFT : -1) #define nd_set_line(n,l) \ (n)->flags=(((n)->flags&~((VALUE)(-1)<