From: Viorel Suman Date: Fri, 6 Feb 2015 12:16:13 +0000 (+0200) Subject: Utils review - numerical write functions X-Git-Tag: android-x86-7.1-r1~36^2~5 X-Git-Url: http://git.osdn.net/view?p=android-x86%2Fhardware-intel-libsensors.git;a=commitdiff_plain;h=9b8b8968da44117cb1671be9b1f9d4c21b3fdaf3 Utils review - numerical write functions Numerical write functions updated in order to use the just introduced basic file write function. Change-Id: Id77bef1501b4f988929b7b06f44a6c8f2387d354 Signed-off-by: Viorel Suman --- diff --git a/utils.c b/utils.c index 6ee1f47..4dd316f 100644 --- a/utils.c +++ b/utils.c @@ -131,35 +131,28 @@ int sysfs_read_uint64(const char path[PATH_MAX], uint64_t *value) int sysfs_write_int(const char path[PATH_MAX], int value) { - int ret; - int fd; - int len; char buf[20]; + int len = snprintf(buf, sizeof(buf), "%d", value); - len = sprintf(buf, "%d", value); - - if (!path[0] || len <= 0) { + if (len <= 0) { ALOGE("Unexpected condition in sysfs_write_int\n"); return -1; } - fd = open(path, O_WRONLY); - - if (fd == -1) { - ALOGV("Cannot open %s (%s)\n", path, strerror(errno)); - return -1; - } + return sysfs_write(path, buf, len); +} - ret = write(fd, buf, len); +int sysfs_write_float(const char path[PATH_MAX], float value) +{ + char buf[20]; + int len = snprintf(buf, sizeof(buf), "%g", value); - if (ret != len) { - ALOGW("Cannot write %s (%d bytes) to %s (%s)\n", buf, len, path, - strerror(errno)); + if (len <= 0) { + ALOGE("Unexpected condition in sysfs_write_float\n"); + return -1; } - close(fd); - - return ret; + return sysfs_write(path, buf, len); } @@ -195,40 +188,6 @@ int sysfs_read_str(const char path[PATH_MAX], char *buf, int buf_len) } -int sysfs_write_float(const char path[PATH_MAX], float value) -{ - int ret; - int fd; - int len; - char buf[20]; - - len = snprintf(buf, sizeof(buf), "%g", value); - - if (!path[0] || len <= 0) { - ALOGE("Unexpected condition in sysfs_write_float\n"); - return -1; - } - - fd = open(path, O_WRONLY); - - if (fd == -1) { - ALOGV("Cannot open %s (%s)\n", path, strerror(errno)); - return -1; - } - - ret = write(fd, buf, len); - - if (ret != len) { - ALOGW("Cannot write %s (%d bytes) to %s (%s)\n", buf, len, path, - strerror(errno)); - } - - close(fd); - - return ret; -} - - int64_t get_timestamp_realtime (void) { struct timespec ts = {0};