diff options
Diffstat (limited to 'arch/um/drivers/line.c')
| -rw-r--r-- | arch/um/drivers/line.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index 0f59736db329..2bb4c4f5dec4 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c | |||
| @@ -602,11 +602,26 @@ int line_get_config(char *name, struct line *lines, unsigned int num, char *str, | |||
| 602 | return n; | 602 | return n; |
| 603 | } | 603 | } |
| 604 | 604 | ||
| 605 | int line_remove(struct line *lines, unsigned int num, char *str) | 605 | int line_id(char **str, int *start_out, int *end_out) |
| 606 | { | ||
| 607 | char *end; | ||
| 608 | int n; | ||
| 609 | |||
| 610 | n = simple_strtoul(*str, &end, 0); | ||
| 611 | if((*end != '\0') || (end == *str)) | ||
| 612 | return -1; | ||
| 613 | |||
| 614 | *str = end; | ||
| 615 | *start_out = n; | ||
| 616 | *end_out = n; | ||
| 617 | return n; | ||
| 618 | } | ||
| 619 | |||
| 620 | int line_remove(struct line *lines, unsigned int num, int n) | ||
| 606 | { | 621 | { |
| 607 | char config[sizeof("conxxxx=none\0")]; | 622 | char config[sizeof("conxxxx=none\0")]; |
| 608 | 623 | ||
| 609 | sprintf(config, "%s=none", str); | 624 | sprintf(config, "%d=none", n); |
| 610 | return !line_setup(lines, num, config, 0); | 625 | return !line_setup(lines, num, config, 0); |
| 611 | } | 626 | } |
| 612 | 627 | ||
