diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2012-06-13 05:49:30 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2012-06-13 05:49:30 +0000 |
| commit | 3ad5493758227a3d273dea66061fa254f14c886d (patch) | |
| tree | 1f6f3219f23b5ba1b21a527858fe19bcf901ebe2 /src/runtime/c/gu/seq.c | |
| parent | cc58e2d05f75710f018efd5e026686146e9b4b9d (diff) | |
Use a separated tag for meta productions in the robust parser. This cleans up the code a lot
Diffstat (limited to 'src/runtime/c/gu/seq.c')
| -rw-r--r-- | src/runtime/c/gu/seq.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/runtime/c/gu/seq.c b/src/runtime/c/gu/seq.c index fda1be99c..d994d5990 100644 --- a/src/runtime/c/gu/seq.c +++ b/src/runtime/c/gu/seq.c @@ -66,7 +66,12 @@ gu_make_buf(size_t elem_size, GuPool* pool) return buf; } -static const GuWord gu_empty_seq[2] = {0, 0}; +static const GuWord gu_empty_seq_[2] = {0, 0}; + +GuSeq +gu_empty_seq() { + return (GuSeq) { gu_tagged((void*)&gu_empty_seq_[1], 0) }; +} GuSeq gu_make_seq(size_t elem_size, size_t length, GuPool* pool) @@ -76,7 +81,7 @@ gu_make_seq(size_t elem_size, size_t length, GuPool* pool) void* buf = gu_malloc(pool, size); return (GuSeq) { gu_tagged(buf, length) }; } else if (size == 0) { - return (GuSeq) { gu_tagged((void*)&gu_empty_seq[1], 0) }; + return gu_empty_seq(); } else { void* buf = gu_malloc_prefixed(pool, gu_alignof(GuWord), |
