M17: Fix Bugs With SRC/DST Values in Meta Extended CSD;

This commit is contained in:
lwvmobile 2024-06-09 05:47:04 -04:00
parent 92fbdabbe5
commit 8610ee8956
1 changed files with 3 additions and 2 deletions

View File

@ -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++)
{