From 0b4002c697102ce0ca1ca6ae413df1548fbd2307 Mon Sep 17 00:00:00 2001 From: "Sven M. Hallberg" <pesco@khjk.org> Date: Fri, 25 Jan 2013 18:37:04 +0100 Subject: [PATCH] add definitions for h_seq_index family of functions --- examples/glue.c | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/examples/glue.c b/examples/glue.c index 52ffd89b..01eb08c7 100644 --- a/examples/glue.c +++ b/examples/glue.c @@ -125,7 +125,7 @@ void * h_cast(HTokenType type, const HParsedToken *p) return p->user; } -HCountedArray *h_cast_seq (const HParsedToken *p) +HCountedArray *h_cast_seq(const HParsedToken *p) { assert(p->token_type == TT_SEQUENCE); return p->seq; @@ -137,13 +137,13 @@ HBytes h_cast_bytes(const HParsedToken *p) return p->bytes; } -int64_t h_cast_sint (const HParsedToken *p) +int64_t h_cast_sint(const HParsedToken *p) { assert(p->token_type == TT_SINT); return p->sint; } -uint64_t h_cast_uint (const HParsedToken *p) +uint64_t h_cast_uint(const HParsedToken *p) { assert(p->token_type == TT_UINT); return p->uint; @@ -163,9 +163,27 @@ HParsedToken *h_seq_index(const HParsedToken *p, size_t i) return h_carray_index(p->seq, i); } +HCountedArray *h_seq_index_seq(const HParsedToken *p, size_t i) +{ + return h_cast_seq(h_seq_index(p, i)); +} + +HBytes h_seq_index_bytes(const HParsedToken *p, size_t i) +{ + return h_cast_bytes(h_seq_index(p, i)); +} + +int64_t h_seq_index_sint(const HParsedToken *p, size_t i) +{ + return h_cast_sint(h_seq_index(p, i)); +} + +uint64_t h_seq_index_uint(const HParsedToken *p, size_t i) +{ + return h_cast_uint(h_seq_index(p, i)); +} + void *h_seq_index_user(HTokenType type, const HParsedToken *p, size_t i) { - HParsedToken *elem = h_seq_index(p, i); - assert(elem->token_type == (HTokenType)type); - return elem->user; + return h_cast(type, h_seq_index(p, i)); } -- GitLab