From 8a26ed7664cccb29ca4552321137ba9a1d3ba7f0 Mon Sep 17 00:00:00 2001
From: Dale Weiler <killfieldengine@gmail.com>
Date: Mon, 25 Nov 2013 02:11:45 -0500
Subject: [PATCH] Fix CRC16

---
 intrin.c | 2 ++
 util.c   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/intrin.c b/intrin.c
index a6d3520..c9cbfed 100644
--- a/intrin.c
+++ b/intrin.c
@@ -860,6 +860,7 @@ static ast_expression *intrin_pow(intrin_t *intrin) {
             (ast_expression*)intrin->fold->imm_float[1]
         )
     );
+
     vec_push(body->exprs,
         (ast_expression*)ast_store_new(
             intrin_ctx(intrin),
@@ -868,6 +869,7 @@ static ast_expression *intrin_pow(intrin_t *intrin) {
             (ast_expression*)callsqrt1
         )
     );
+
     vec_push(body->exprs,
         (ast_expression*)ast_store_new(
             intrin_ctx(intrin),
diff --git a/util.c b/util.c
index 4300d3c..e9d4cfe 100644
--- a/util.c
+++ b/util.c
@@ -482,6 +482,7 @@ uint16_t util_crc16(uint16_t current, const char *GMQCC_RESTRICT k, size_t len)
             SELECT_DATA(1) ^
             SELECT_DATA(0);
         data += 8;
+        len  -= 8;
     }
 
     #undef SELECT_BULK
-- 
2.39.5