From c44e03977249322ef4e1d57d9585a10412e7b501 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Thu, 5 Jan 2023 16:27:44 -0500 Subject: [PATCH] EDACS 32-bit Variable Fix; --- src/edacs-bch3.c | 3 ++- src/edacs-fme.c | 13 +++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/edacs-bch3.c b/src/edacs-bch3.c index 6b11c43..5110826 100644 --- a/src/edacs-bch3.c +++ b/src/edacs-bch3.c @@ -480,7 +480,8 @@ decode_bch() } } -long int messagepp = 0x0; +//bugfix on 32-bit cygwin, probably overflowed here +unsigned long long int messagepp = 0x0; //very simplified version, just to encode, get frame and compare unsigned long long int edacs_bch (unsigned long long int message) diff --git a/src/edacs-fme.c b/src/edacs-fme.c index e87f16f..8f3946e 100644 --- a/src/edacs-fme.c +++ b/src/edacs-fme.c @@ -47,12 +47,13 @@ char * getTimeE(void) //get pretty hh:mm:ss timestamp void edacs(dsd_opts * opts, dsd_state * state) { - unsigned long long fr_1 = 0xFFFFFFFFFF; //40-bit frames - unsigned long long fr_2 = 0; //each is a 40 bit frame that repeats 3 times - unsigned long long fr_3 = 0; //two messages per frame - unsigned long long fr_4 = 0xFFFFFFFFFF; - unsigned long long fr_5 = 0; - unsigned long long fr_6 = 0; + //changed to ulli here for 32-bit cygwin (not sure if was an issue, but playing it safe) + unsigned long long int fr_1 = 0xFFFFFFFFFF; //40-bit frames + unsigned long long int fr_2 = 0; //each is a 40 bit frame that repeats 3 times + unsigned long long int fr_3 = 0; //two messages per frame + unsigned long long int fr_4 = 0xFFFFFFFFFF; + unsigned long long int fr_5 = 0; + unsigned long long int fr_6 = 0; //BCH stuff unsigned long long int fr_1m = 0xFFFFFFF; //28-bit 7X message portion to pass to bch handler