From eb2562c665499066e0f51f33b2f5135f4f24ebac Mon Sep 17 00:00:00 2001 From: Aliaksei Chapyzhenka Date: Wed, 16 Sep 2020 09:13:48 -0700 Subject: [PATCH] clean value/mask/digitCount regardless of trigger --- vcd_spans.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/vcd_spans.c b/vcd_spans.c index 567f061..909f8b6 100644 --- a/vcd_spans.c +++ b/vcd_spans.c @@ -116,10 +116,11 @@ int varNameSpan(vcd_parser_t* state, const unsigned char* p, const unsigned char int idSpan(vcd_parser_t* state, const unsigned char* p, const unsigned char* endp) { napi_env env = state->napi_env; + const int valueWords = (state->digitCount >> 6) + 1; + uint64_t* value = state->value; + uint64_t* mask = state->mask; if (stringEq((state->trigger), p, endp)) { const uint8_t command = state->command; - uint64_t* value = state->value; - uint64_t* mask = state->mask; if (command == 14) { value[0] = 0; mask[0] = 0; @@ -128,7 +129,6 @@ int idSpan(vcd_parser_t* state, const unsigned char* p, const unsigned char* end value[0] = 1; mask[0] = 0; } - const int valueWords = (state->digitCount >> 6) + 1; napi_value undefined, eventName, aTime, aCommand, aValue, aMask, return_val; ASSERT(undefined, napi_get_undefined(env, &undefined)) ASSERT(eventName, napi_create_string_latin1(env, (char*)p, (endp - p - 1), &eventName)) @@ -138,12 +138,12 @@ int idSpan(vcd_parser_t* state, const unsigned char* p, const unsigned char* end ASSERT(aMask, napi_create_bigint_words(env, 0, valueWords, mask, &aMask)) napi_value* argv[] = {&eventName, &aTime, &aCommand, &aValue, &aMask}; ASSERT(state->triee, napi_call_function(env, undefined, state->triee, 5, *argv, &return_val)) - for (int i = 0; i < valueWords; i++) { - value[i] = 0; - mask[i] = 0; - } - state->digitCount = 0; } + for (int i = 0; i < valueWords; i++) { + value[i] = 0; + mask[i] = 0; + } + state->digitCount = 0; return 0; }