From d483dd7898a67ab30a424f20eb17e0f748cac12d Mon Sep 17 00:00:00 2001 From: "Christopher N. Hesse" Date: Sun, 2 Apr 2017 14:06:24 +0200 Subject: [PATCH] audience: Cleanup write_int() Change-Id: Idfec2093c63a864d5f9d37353adbf6f8fc5d4fcd --- audio/audience.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/audio/audience.c b/audio/audience.c index 9b961be..61ed5d0 100644 --- a/audio/audience.c +++ b/audio/audience.c @@ -31,25 +31,32 @@ * * @param path The absolute path string. * @param value The Integer value to be written. - * @return 0 on success, -1 or errno on error. + * @return 0 on success, errno on error. */ static int write_int(char const *path, const int value) { - int fd; + int fd, len, num_bytes; + int ret = 0; + char buffer[20]; - ALOGV("write_int: path %s, value %d", path, value); fd = open(path, O_WRONLY); + if (fd < 0) { + ret = errno; + ALOGE("%s: failed to open %s (%s)", __func__, path, strerror(errno)); + goto exit; + } - if (fd >= 0) { - char buffer[20]; - int bytes = sprintf(buffer, "%d\n", value); - int amt = write(fd, buffer, bytes); - close(fd); - return amt == -1 ? -errno : 0; - } else { - ALOGE("write_int failed to open %s\n", path); - return -errno; + num_bytes = sprintf(buffer, "%d", value); + len = write(fd, buffer, num_bytes); + if (len < 0) { + ret = errno; + ALOGE("%s: failed to write to %s (%s)", __func__, path, strerror(errno)); + goto exit; } + +exit: + close(fd); + return ret; } /* -- 2.20.1