From: Henry Bruce Date: Wed, 2 Dec 2015 18:36:03 +0000 (-0800) Subject: iio: mraa_iio_write_string now using open insteam of fopen X-Git-Tag: v0.9.0~30 X-Git-Url: http://review.tizen.org/git/?p=contrib%2Fmraa.git;a=commitdiff_plain;h=fbfe3e315f35f87faba461a71b198971b6f29fb5 iio: mraa_iio_write_string now using open insteam of fopen Signed-off-by: Henry Bruce --- diff --git a/src/iio/iio.c b/src/iio/iio.c index 7f4ed5c..d7f1292 100644 --- a/src/iio/iio.c +++ b/src/iio/iio.c @@ -247,17 +247,11 @@ mraa_iio_read_string(mraa_iio_context dev, const char* filename, char* data) } mraa_result_t -mraa_iio_write_float(mraa_iio_context dev, const char* filename, const float data) +mraa_iio_write_float(mraa_iio_context dev, const char* attr_name, const float data) { char buf[MAX_SIZE]; - snprintf(buf, MAX_SIZE, IIO_SYSFS_DEVICE "%d/%s", dev->num, filename); - FILE* fp = fopen(buf, "w"); - if (fp != NULL) { - fprintf(fp, "%f", data); - fclose(fp); - return MRAA_SUCCESS; - } - return MRAA_ERROR_UNSPECIFIED; + snprintf(buf, MAX_SIZE, "%f", data); + return mraa_iio_write_string(dev, attr_name, buf); } mraa_result_t @@ -275,17 +269,20 @@ mraa_iio_write_integer(mraa_iio_context dev, const char* filename, const int dat } mraa_result_t -mraa_iio_write_string(mraa_iio_context dev, const char* filename, const char* data) +mraa_iio_write_string(mraa_iio_context dev, const char* attr_name, const char* data) { char buf[MAX_SIZE]; - snprintf(buf, MAX_SIZE, IIO_SYSFS_DEVICE "%d/%s", dev->num, filename); - FILE* fp = fopen(buf, "w"); - if (fp != NULL) { - fprintf(fp, "%s", data); - fclose(fp); - return MRAA_SUCCESS; + mraa_result_t result = MRAA_ERROR_UNSPECIFIED; + snprintf(buf, MAX_SIZE, IIO_SYSFS_DEVICE "%d/%s", dev->num, attr_name); + int fh = open(buf, O_RDWR); + if (fh != -1) { + size_t len = strlen(data); + ssize_t status = write(fh, data, len); + printf("mraa_iio_write_string status %d\n", status); + if (status == len) + result = MRAA_SUCCESS; } - return MRAA_ERROR_UNSPECIFIED; + return result; } static mraa_result_t