uint16_t mcc;
if (strlen(string) != 3)
- return 0;
+ return GSM_INPUT_INVALID;
if (string[0] < '0' || string [0] > '9'
|| string[1] < '0' || string [1] > '9'
|| string[2] < '0' || string [2] > '9')
- return 0;
+ return GSM_INPUT_INVALID;
mcc = ((string[0] - '0') << 8)
| ((string[1] - '0') << 4)
| ((string[2] - '0'));
+ if (mcc == 0x000)
+ return GSM_INPUT_INVALID;
+
return mcc;
}
if (strlen(string) == 2) {
if (string[0] < '0' || string [0] > '9'
|| string[1] < '0' || string [1] > '9')
- return 0;
+ return GSM_INPUT_INVALID;
mnc = ((string[0] - '0') << 8)
| ((string[1] - '0') << 4)
if (string[0] < '0' || string [0] > '9'
|| string[1] < '0' || string [1] > '9'
|| string[2] < '0' || string [2] > '9')
- return 0;
+ return GSM_INPUT_INVALID;
mnc = ((string[0] - '0') << 8)
| ((string[1] - '0') << 4)