From 50061dff9f31848045f397fda3f39b9bc0398077 Mon Sep 17 00:00:00 2001 From: Justin Berger Date: Fri, 29 Jun 2018 19:21:29 +0000 Subject: Blacklisted devices now dont claim interface; fixed ootx option --- src/ootx_decoder.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/ootx_decoder.c') diff --git a/src/ootx_decoder.c b/src/ootx_decoder.c index e110d11..253dd18 100644 --- a/src/ootx_decoder.c +++ b/src/ootx_decoder.c @@ -4,10 +4,11 @@ /* ootx data decoder */ +#include "ootx_decoder.h" +#include "string.h" +#include #include #include -#include -#include "ootx_decoder.h" #ifdef NOZLIB #include "crc32.h" @@ -124,10 +125,12 @@ void ootx_pump_bit(ootx_decoder_context *ctx, uint8_t dbit) { if( !dbit ) { // printf("Bad sync bit\n"); - ootx_error(ctx, "OOTX Decoder: Bad sync bit"); - - if (ctx->ignore_sync_bit_error == 0) + if (ctx->ignore_sync_bit_error == 0) { + ootx_error(ctx, "OOTX Decoder: Bad sync bit"); ootx_reset_buffer(ctx); + } else { + ootx_error(ctx, "OOTX Decoder: Ignoring bad sync bit"); + } } ctx->bits_processed = 0; } @@ -157,7 +160,7 @@ void ootx_pump_bit(ootx_decoder_context *ctx, uint8_t dbit) { op.length = *(ctx->payload_size); op.data = ctx->buffer+2; - op.crc32 = *(uint32_t*)(op.data+padded_length); + memcpy(&op.crc32, op.data + padded_length, sizeof(uint32_t)); uint32_t crc = crc32( 0L, 0 /*Z_NULL*/, 0 ); crc = crc32( crc, op.data,op.length); -- cgit v1.2.3