Improve detection of USSD codes

This commit is contained in:
Pierre Pronchery 2015-12-28 16:51:57 +01:00
parent e30c0f8c35
commit 41aee78420
2 changed files with 8 additions and 4 deletions

View File

@ -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;

View File

@ -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++)