diff --git a/serial/port.c b/serial/port.c
index fa302be..3b36d44 100644
--- a/serial/port.c
+++ b/serial/port.c
req.flags = (1 << RFCOMM_HANGUP_NOW);
if (ioctl(rfcomm_ctl, RFCOMMRELEASEDEV, &req) < 0) {
- err = errno;
+ err = -errno;
error("Can't release device %s: %s (%d)",
- port->dev, strerror(err), err);
+ port->dev, strerror(-err), -err);
}
g_free(port->dev);
port->dev = NULL;
port->id = -1;
close(rfcomm_ctl);
- return -err;
+ return err;
}
static void serial_port_free(void *data)
diff --git a/serial/proxy.c b/serial/proxy.c
index 371ad5f..736f690 100644
--- a/serial/proxy.c
+++ b/serial/proxy.c
/* Unix socket */
sk = socket(AF_UNIX, SOCK_STREAM, 0);
if (sk < 0) {
- err = errno;
+ err = -errno;
error("Unix socket(%s) create failed: %s(%d)",
- address, strerror(err), err);
- return -err;
+ address, strerror(-err), -err);
+ return err;
}
if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
- err = errno;
+ err = -errno;
error("Unix socket(%s) connect failed: %s(%d)",
- address, strerror(err), err);
+ address, strerror(-err), -err);
close(sk);
- errno = err;
- return -err;
+ return err;
}
return sk;
sk = socket(PF_INET, SOCK_STREAM, 0);
if (sk < 0) {
- err = errno;
+ err = -errno;
error("TCP socket(%s) create failed %s(%d)", address,
- strerror(err), err);
- return -err;
+ strerror(-err), -err);
+ return err;
}
if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
- err = errno;
+ err = -errno;
error("TCP socket(%s) connect failed: %s(%d)",
- address, strerror(err), err);
+ address, strerror(-err), -err);
close(sk);
- errno = err;
- return -err;
+ return err;
}
return sk;
}
sk = open(tty, O_RDWR | O_NOCTTY);
if (sk < 0) {
- err = errno;
- error("Can't open TTY %s: %s(%d)", tty, strerror(err), err);
- return -err;
+ err = -errno;
+ error("Can't open TTY %s: %s(%d)", tty, strerror(-err), -err);
+ return err;
}
if (ti && tcsetattr(sk, TCSANOW, ti) < 0) {
- err = errno;
+ err = -errno;
error("Can't change serial settings: %s(%d)",
- strerror(err), err);
+ strerror(-err), -err);
close(sk);
- errno = err;
- return -err;
+ return err;
}
return sk;