diff --git a/src/m17.c b/src/m17.c index a1ecf72..793a4a9 100644 --- a/src/m17.c +++ b/src/m17.c @@ -3178,8 +3178,9 @@ void decodeM17PKT(dsd_opts * opts, dsd_state * state, uint8_t * input, int len) //Extended Call Sign Data else if (protocol == 92) { - unsigned long long int src = ((unsigned long long int)input[1] << 40ULL) + ((unsigned long long int)input[2] << 32ULL) + (input[3] << 24ULL) + (input[4] << 16ULL) + (input[5] << 8ULL) + (input[6] << 0ULL); - unsigned long long int dst = ((unsigned long long int)input[7] << 40ULL) + ((unsigned long long int)input[8] << 32ULL) + (input[9] << 24ULL) + (input[10] << 16ULL) + (input[11] << 8ULL) + (input[12] << 0ULL); + //NOTE: If doing a shift addition like this, make sure ALL values have (unsigned long long int) in front of it, not just the ones that 'needed' it + unsigned long long int src = ((unsigned long long int)input[1] << 40ULL) + ((unsigned long long int)input[2] << 32ULL) + ((unsigned long long int)input[3] << 24ULL) + ((unsigned long long int)input[4] << 16ULL) + ((unsigned long long int)input[5] << 8ULL) + ((unsigned long long int)input[6] << 0ULL); + unsigned long long int dst = ((unsigned long long int)input[7] << 40ULL) + ((unsigned long long int)input[8] << 32ULL) + ((unsigned long long int)input[9] << 24ULL) + ((unsigned long long int)input[10] << 16ULL) + ((unsigned long long int)input[11] << 8ULL) + ((unsigned long long int)input[12] << 0ULL); fprintf (stderr, " CF1: "); //Originator for (i = 0; i < 9; i++) {