diff options
author | Vicent Marti <tanoku@gmail.com> | 2016-05-30 16:07:07 +0200 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2016-06-06 15:39:06 -0700 |
commit | f39eaefb651064ea6b4b8f030ec98f98c94fe95a (patch) | |
tree | 91028c68ef9b83c58ca85545cddaa4839e170ba2 | |
parent | 8e11c6d7a2f43bd507cc0349843c6fde8392eccb (diff) |
node: Memory diet
Reduce the storage size for the `cmark_code` struct
-rw-r--r-- | src/blocks.c | 2 | ||||
-rw-r--r-- | src/node.h | 7 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/blocks.c b/src/blocks.c index e4d5bf7..aae81c3 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -897,7 +897,7 @@ static void open_new_blocks(cmark_parser *parser, cmark_node **container, parser->first_nonspace + 1); (*container)->as.code.fenced = true; (*container)->as.code.fence_char = peek_at(input, parser->first_nonspace); - (*container)->as.code.fence_length = matched; + (*container)->as.code.fence_length = (matched > 255) ? 255 : matched; (*container)->as.code.fence_offset = (int8_t)(parser->first_nonspace - parser->offset); (*container)->as.code.info = cmark_chunk_literal(""); @@ -25,11 +25,10 @@ typedef struct { typedef struct { cmark_chunk info; cmark_chunk literal; - int fence_length; - /* fence_offset must be 0-3, so we can use int8_t */ - int8_t fence_offset; + uint8_t fence_length; + uint8_t fence_offset; unsigned char fence_char; - bool fenced; + int8_t fenced; } cmark_code; typedef struct { |