From f62e7d9e015e8046b302e06e4754132c8104c990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Wed, 29 Oct 2014 13:37:50 +0100 Subject: [PATCH] fixed gpio warnings (errors on trusty and utopic) --- libguh/hardware/gpio.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libguh/hardware/gpio.cpp b/libguh/hardware/gpio.cpp index 7517ef4c..41846b5f 100644 --- a/libguh/hardware/gpio.cpp +++ b/libguh/hardware/gpio.cpp @@ -61,9 +61,9 @@ bool Gpio::exportGpio() return false; } - size_t len = snprintf(buf, sizeof(buf), "%d", m_gpio); + uint len = snprintf(buf, sizeof(buf), "%d", m_gpio); if(write(fd, buf, len) != len){ - qDebug() << "ERROR: could not write to gpio"; + qDebug() << "ERROR: could not set edge interrupt"; close(fd); return false; } @@ -81,9 +81,10 @@ bool Gpio::unexportGpio() //qDebug() << "ERROR: could not open /sys/class/gpio/unexport"; return false; } - size_t len = snprintf(buf, sizeof(buf), "%d", m_gpio); + + uint len = snprintf(buf, sizeof(buf), "%d", m_gpio); if(write(fd, buf, len) != len){ - qDebug() << "ERROR: could not write to gpio"; + qDebug() << "ERROR: could not set edge interrupt"; close(fd); return false; } @@ -235,7 +236,11 @@ int Gpio::getValue() } char ch; int value = -1; - read(fd, &ch, 1); + ssize_t len = read(fd, &ch, 1); + if(len != 1){ + close(fd); + return -1; + } if (ch != '0') { value = 1;