From 4a2f58871cc72510e488cfc60a53fe8c16de6683 Mon Sep 17 00:00:00 2001
From: Denley <noname>
Date: Tue, 13 Oct 2020 18:14:46 -0400
Subject: [PATCH] Add missing check in h_do_parse() for parser->vtable->higher

---
 src/backends/packrat.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/backends/packrat.c b/src/backends/packrat.c
index ab0f8748..381771b0 100644
--- a/src/backends/packrat.c
+++ b/src/backends/packrat.c
@@ -240,8 +240,10 @@ HParseResult* h_do_parse(const HParser* parser, HParseState *state) {
      * so we check to see if we have one
      */
     if (!base || NULL == base->head) {
-      h_hashtable_put_precomp(state->cache, key,
-                              cached_result(state, tmp_res), keyhash);
+      if (parser->vtable->higher) {
+        h_hashtable_put_precomp(state->cache, key,
+                                cached_result(state, tmp_res), keyhash);
+      }
       return tmp_res;
     } else {
       base->seed = tmp_res;
-- 
GitLab