diff --git a/src/multimeter.c b/src/multimeter.c
index 775eb57e27bff64201f81e83cf6528c36fa0608e..02fe1ad312f4be22a58982bb91f5ce033e29dd3f 100644 (file)
--- a/src/multimeter.c
+++ b/src/multimeter.c
**/
#include "collectd.h"
+
#include "common.h"
#include "plugin.h"
static int multimeter_init (void)
{
- int i;
char device[] = "/dev/ttyS ";
- for (i = 0; i < 10; i++)
+ for (int i = 0; i < 10; i++)
{
- device[strlen(device)-1] = i + '0';
+ device[strlen(device)-1] = i + '0';
- if ((fd = open(device, O_RDWR | O_NOCTTY)) > 0)
+ if ((fd = open(device, O_RDWR | O_NOCTTY)) != -1)
{
- struct termios tios;
+ struct termios tios = { 0 };
int rts = TIOCM_RTS;
double value;
tios.c_cflag = B1200 | CS7 | CSTOPB | CREAD | CLOCAL;
tios.c_iflag = IGNBRK | IGNPAR;
- tios.c_oflag = 0;
+ tios.c_oflag = 0;
tios.c_lflag = 0;
tios.c_cc[VTIME] = 3;
tios.c_cc[VMIN] = LINE_LENGTH;
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &tios);
ioctl(fd, TIOCMBIC, &rts);
-
+
if (multimeter_read_value (&value) < -1)
{
close (fd);