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] != '*')
|
if(number == NULL || number[0] != '*')
|
||||||
return 0;
|
return 0;
|
||||||
for(number++; *number != '\0'; number++)
|
for(number++; *number != '\0'; number++)
|
||||||
if((*number >= '0' && *number <= '9') || *number == '*')
|
if(*number == '#')
|
||||||
continue;
|
{
|
||||||
else if(*number == '#' && *(number + 1) == '\0')
|
if(*(number + 1) == '\0')
|
||||||
return 1;
|
return 1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if((*number >= '0' && *number <= '9') || *number == '*')
|
||||||
|
continue;
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -31,7 +31,7 @@ static int _ussd(void)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
const char * codes[] = { "*100#", "*109*72348937857623#" };
|
const char * codes[] = { "*100#", "*109*72348937857623#" };
|
||||||
const char * notcodes[] = { "*#06#" };
|
const char * notcodes[] = { "*#06#0" };
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
for(i = 0; i < sizeof(codes) / sizeof(*codes); i++)
|
for(i = 0; i < sizeof(codes) / sizeof(*codes); i++)
|
||||||
|
Loading…
Reference in New Issue
Block a user