aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2018-04-19 21:08:45 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2018-04-19 21:08:45 +0200
commit32cefbbffc3521af688f365ac0eeeba919fe0c87 (patch)
treecf1b38a5cf2b486400970600bc5818dfce1da54e
parent49050eff909563aebc921a67ff842dd81b4711ba (diff)
Transcode fourth digit of TACS phone number correctly, if it is 0.
-rw-r--r--src/amps/amps.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/amps/amps.c b/src/amps/amps.c
index 4533da7..3a33215 100644
--- a/src/amps/amps.c
+++ b/src/amps/amps.c
@@ -209,7 +209,7 @@ void amps_number2min(const char *number, uint32_t *min1, uint16_t *min2)
*min1 |= digit2binary(number[4]) * 100 + digit2binary(number[5]) * 10 + digit2binary(number[6]) - 111;
} else {
/* MIN1 */
- *min1 = (number[0] - '0') << 20;
+ *min1 = digit2binary(number[0]) << 20;
*min1 |= (digit2binary(number[1]) * 100 + digit2binary(number[2]) * 10 + digit2binary(number[3]) - 111) << 10;
*min1 |= digit2binary(number[4]) * 100 + digit2binary(number[5]) * 10 + digit2binary(number[6]) - 111;
}
@@ -262,10 +262,10 @@ const char *amps_min12number(uint32_t min1)
}
} else {
/* MIN1 */
- if ((min1 >> 20) > 9)
+ if ((min1 >> 20) < 1 || (min1 >> 20) > 10)
number[0] = '?';
else
- number[0] = '0' + (min1 >> 20);
+ number[0] = binary2digit(min1 >> 20);
if (((min1 >> 10) & 0x3ff) > 999)
strcpy(number + 1, "???");
else {