Improve detection of USSD codes
This commit is contained in:
parent
e30c0f8c35
commit
41aee78420
@ -4278,10 +4278,14 @@ static int _is_ussd_code(char const * number)
|
||||
if(number == NULL || number[0] != '*')
|
||||
return 0;
|
||||
for(number++; *number != '\0'; number++)
|
||||
if((*number >= '0' && *number <= '9') || *number == '*')
|
||||
if(*number == '#')
|
||||
{
|
||||
if(*(number + 1) == '\0')
|
||||
return 1;
|
||||
continue;
|
||||
}
|
||||
else if((*number >= '0' && *number <= '9') || *number == '*')
|
||||
continue;
|
||||
else if(*number == '#' && *(number + 1) == '\0')
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
return 0;
|
||||
|
@ -31,7 +31,7 @@ static int _ussd(void)
|
||||
{
|
||||
int ret = 0;
|
||||
const char * codes[] = { "*100#", "*109*72348937857623#" };
|
||||
const char * notcodes[] = { "*#06#" };
|
||||
const char * notcodes[] = { "*#06#0" };
|
||||
size_t i;
|
||||
|
||||
for(i = 0; i < sizeof(codes) / sizeof(*codes); i++)
|
||||
|
Loading…
Reference in New Issue
Block a user