Skip to content

Commit 8bf9919

Browse files
committed
pinctrl: Handle pin names starting with digits
Signed-off-by: Phil Elwell <[email protected]>
1 parent 021326c commit 8bf9919

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

pinctrl/pinctrl.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -410,13 +410,13 @@ int main(int argc, char *argv[])
410410
while (p)
411411
{
412412
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)
416417
break;
417-
else if (ret != 1)
418+
else if (ret != 1 || len != len2)
418419
{
419-
len = strcspn(p, "-,");
420420
gpio = gpio_get_gpio_by_name(p, len);
421421
if (gpio == GPIO_INVALID)
422422
break;
@@ -443,12 +443,12 @@ int main(int argc, char *argv[])
443443
if (*p == '-')
444444
{
445445
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)
448449
break;
449-
else if (ret != 1)
450+
else if (ret != 1 || len != len2)
450451
{
451-
len = strcspn(p, "-,");
452452
gpio2 = gpio_get_gpio_by_name(p, len);
453453
if (gpio2 == GPIO_INVALID)
454454
break;

0 commit comments

Comments
 (0)