From: Bartosz Golaszewski Date: Sat, 28 Jan 2017 16:32:23 +0000 (+0100) Subject: core: simplify gpiod_chip_close() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=94bc14058847847ff3ae623fe32dc1a16735ddd6;p=qemu-gpiodev%2Flibgpiod.git core: simplify gpiod_chip_close() Use a temporary pointer for GPIO lines and helpers for reading the line state. Signed-off-by: Bartosz Golaszewski --- diff --git a/src/lib/core.c b/src/lib/core.c index 494a3b4..d1fe38c 100644 --- a/src/lib/core.c +++ b/src/lib/core.c @@ -975,13 +975,16 @@ struct gpiod_chip * gpiod_chip_open_lookup(const char *descr) void gpiod_chip_close(struct gpiod_chip *chip) { + struct gpiod_line *line; unsigned int i; for (i = 0; i < chip->cinfo.lines; i++) { - if (chip->lines[i].state == LINE_TAKEN) - gpiod_line_release(&chip->lines[i]); - else if (chip->lines[i].state == LINE_EVENT) - gpiod_line_event_release(&chip->lines[i]); + line = &chip->lines[i]; + + if (line_get_state(line) == LINE_TAKEN) + gpiod_line_release(line); + else if (line_get_state(line) == LINE_EVENT) + gpiod_line_event_release(line); } close(chip->fd);