diff --git a/btio/btio.c b/btio/btio.c
index e84f6d0..2cc9082 100644
--- a/btio/btio.c
+++ b/btio/btio.c
addr.l2_psm = htobs(psm);
if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
+ int error = -errno;
ERROR_FAILED(err, "l2cap_bind", errno);
- return -1;
+ return error;
}
return 0;
err = connect(sock, (struct sockaddr *) &addr, sizeof(addr));
if (err < 0 && !(errno == EAGAIN || errno == EINPROGRESS))
- return err;
+ return -errno;
return 0;
}
addr.rc_channel = channel;
if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
+ int error = -errno;
ERROR_FAILED(err, "rfcomm_bind", errno);
- return -1;
+ return error;
}
return 0;
err = connect(sock, (struct sockaddr *) &addr, sizeof(addr));
if (err < 0 && !(errno == EAGAIN || errno == EINPROGRESS))
- return err;
+ return -errno;
return 0;
}
bacpy(&addr.sco_bdaddr, src);
if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
+ int error = -errno;
ERROR_FAILED(err, "sco_bind", errno);
- return -1;
+ return error;
}
return 0;
err = connect(sock, (struct sockaddr *) &addr, sizeof(addr));
if (err < 0 && !(errno == EAGAIN || errno == EINPROGRESS))
- return err;
+ return -errno;
return 0;
}