NMT: Allow NULL (B'0000') to be used as country selector in traffic area
This commit is contained in:
parent
57d4d1739e
commit
e653475ff7
|
@ -71,7 +71,9 @@ void nmt_value2digits(uint64_t value, char *digits, int num)
|
|||
digit = (value >> ((num - 1 - i) << 2)) & 0xf;
|
||||
if (digit == 10)
|
||||
digits[i] = '0';
|
||||
else if (digit == 0 || digit > 10)
|
||||
else if (digit == 0)
|
||||
digits[i] = 'N';
|
||||
else if (digit > 10)
|
||||
digits[i] = '?';
|
||||
else
|
||||
digits[i] = digit + '0';
|
||||
|
@ -88,8 +90,10 @@ uint64_t nmt_digits2value(const char *digits, int num)
|
|||
digit = *digits++;
|
||||
if (digit >= '1' && digit <= '9')
|
||||
value |= digit - '0';
|
||||
else
|
||||
else if (digit == '0')
|
||||
value |= 10;
|
||||
else
|
||||
value |= 0;
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
@ -168,7 +168,10 @@ error_ta:
|
|||
goto error_ta;
|
||||
if (*p < '0' || *p > '9')
|
||||
goto error_ta;
|
||||
traffic_area[0] = rc + '0';
|
||||
if (rc == -1)
|
||||
traffic_area[0] = 'N';
|
||||
else
|
||||
traffic_area[0] = rc + '0';
|
||||
traffic_area[1] = *p;
|
||||
traffic_area[2] = '\0';
|
||||
}
|
||||
|
|
|
@ -284,6 +284,8 @@ static struct nmt_country {
|
|||
{ 2, "RU2", "", "" },
|
||||
{ 3, "RU3", "", "" },
|
||||
{ 4, "RU4", "", "" },
|
||||
{ 4, "RU4", "", "" },
|
||||
{ -1, "NULL", "", "" },
|
||||
{ 0, NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue