@@ -410,13 +410,13 @@ int main(int argc, char *argv[])
410
410
while (p )
411
411
{
412
412
unsigned gpio , gpio2 ;
413
- int len ;
414
- ret = sscanf (p , "%u%n" , & gpio , & len );
415
- if (ret == 1 && gpio >= num_gpios )
413
+ int len , len2 ;
414
+ len = strcspn (p , "-," );
415
+ ret = sscanf (p , "%u%n" , & gpio , & len2 );
416
+ if (ret == 1 && len == len2 && gpio >= num_gpios )
416
417
break ;
417
- else if (ret != 1 )
418
+ else if (ret != 1 || len != len2 )
418
419
{
419
- len = strcspn (p , "-," );
420
420
gpio = gpio_get_gpio_by_name (p , len );
421
421
if (gpio == GPIO_INVALID )
422
422
break ;
@@ -443,12 +443,12 @@ int main(int argc, char *argv[])
443
443
if (* p == '-' )
444
444
{
445
445
p ++ ;
446
- ret = sscanf (p , "%u%n" , & gpio2 , & len );
447
- if (ret == 1 && gpio2 >= num_gpios )
446
+ len = strcspn (p , "-," );
447
+ ret = sscanf (p , "%u%n" , & gpio2 , & len2 );
448
+ if (ret == 1 && len == len2 && gpio2 >= num_gpios )
448
449
break ;
449
- else if (ret != 1 )
450
+ else if (ret != 1 || len != len2 )
450
451
{
451
- len = strcspn (p , "-," );
452
452
gpio2 = gpio_get_gpio_by_name (p , len );
453
453
if (gpio2 == GPIO_INVALID )
454
454
break ;
0 commit comments