diff --git a/src/glue.h b/src/glue.h index 31597cd21c829d362e0a66c52a39dfc95b2a3a96..1de285823b3f2ae6fd956c04c9bc81d92445719a 100644 --- a/src/glue.h +++ b/src/glue.h @@ -247,7 +247,7 @@ HParsedToken *h_seq_index_vpath(const HParsedToken *p, size_t i, va_list va); #define H_INDEX_BYTES(SEQ, ...) H_CAST_BYTES(H_INDEX_TOKEN(SEQ, __VA_ARGS__)) #define H_INDEX_SINT(SEQ, ...) H_CAST_SINT(H_INDEX_TOKEN(SEQ, __VA_ARGS__)) #define H_INDEX_UINT(SEQ, ...) H_CAST_UINT(H_INDEX_TOKEN(SEQ, __VA_ARGS__)) -#define H_INDEX_TOKEN(SEQ, ...) h_seq_index_path(SEQ, __VA_ARGS__, -1) +#define H_INDEX_TOKEN(SEQ, ...) h_seq_index_path(H_ASSERT_SEQ(SEQ), __VA_ARGS__, -1) // Standard short-hand to access and cast elements on a sequence token. #define H_FIELD(TYP, ...) H_INDEX(TYP, p->ast, __VA_ARGS__) @@ -255,6 +255,7 @@ HParsedToken *h_seq_index_vpath(const HParsedToken *p, size_t i, va_list va); #define H_FIELD_BYTES(...) H_INDEX_BYTES(p->ast, __VA_ARGS__) #define H_FIELD_SINT(...) H_INDEX_SINT(p->ast, __VA_ARGS__) #define H_FIELD_UINT(...) H_INDEX_UINT(p->ast, __VA_ARGS__) +#define H_FIELD_TOKEN(...) H_INDEX_TOKEN(p->ast, __VA_ARGS__) // Lower-level helper for h_seq_index. HParsedToken *h_carray_index(const HCountedArray *a, size_t i); // XXX -> internal