diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/attest.c | 2 | ||||
| -rw-r--r-- | test/hciemu.c | 37 | ||||
| -rw-r--r-- | test/hstest.c | 4 | 
3 files changed, 17 insertions, 26 deletions
diff --git a/test/attest.c b/test/attest.c index 59ab1d29..98fdf5e7 100644 --- a/test/attest.c +++ b/test/attest.c @@ -45,7 +45,7 @@ static int at_command(int fd, char *cmd, int to)  	char buf[1024];  	int sel, len, i, n; -	write(fd, cmd, strlen(cmd)); +	len = write(fd, cmd, strlen(cmd));  	for (i = 0; i < 100; i++) { diff --git a/test/hciemu.c b/test/hciemu.c index d6996a3e..213ca78c 100644 --- a/test/hciemu.c +++ b/test/hciemu.c @@ -219,6 +219,7 @@ static int write_snoop(int fd, int type, int incoming, unsigned char *buf, int l  	struct timeval tv;  	uint32_t size = len;  	uint64_t ts; +	int err;  	if (fd < 0)  		return -1; @@ -236,8 +237,8 @@ static int write_snoop(int fd, int type, int incoming, unsigned char *buf, int l  	if (type == HCI_COMMAND_PKT || type == HCI_EVENT_PKT)  		pkt.flags |= ntohl(0x02); -	write(fd, &pkt, BTSNOOP_PKT_SIZE); -	write(fd, buf, size); +	err = write(fd, &pkt, BTSNOOP_PKT_SIZE); +	err = write(fd, buf, size);  	return 0;  } @@ -872,7 +873,7 @@ static gboolean io_acl_data(GIOChannel *chan, GIOCondition cond, gpointer data)  	unsigned char buf[HCI_MAX_FRAME_SIZE], *ptr;  	hci_acl_hdr *ah;  	uint16_t flags; -	int len, fd; +	int fd, err, len;  	if (cond & G_IO_NVAL)  		return FALSE; @@ -907,7 +908,7 @@ static gboolean io_acl_data(GIOChannel *chan, GIOCondition cond, gpointer data)  	write_snoop(vdev.dd, HCI_ACLDATA_PKT, 1, buf, len); -	write(vdev.fd, buf, len); +	err = write(vdev.fd, buf, len);  	return TRUE;  } @@ -1137,7 +1138,7 @@ static int run_proxy(int fd, int dev, bdaddr_t *bdaddr)  			len = read(fd, buf, sizeof(buf));  			if (len > 0) {  				rewrite_bdaddr(buf, len, bdaddr); -				write(dd, buf, len); +				err = write(dd, buf, len);  			}  		} @@ -1145,7 +1146,7 @@ static int run_proxy(int fd, int dev, bdaddr_t *bdaddr)  			len = read(dd, buf, sizeof(buf));  			if (len > 0) {  				rewrite_bdaddr(buf, len, bdaddr); -				write(fd, buf, len); +				err = write(fd, buf, len);  			}  		}  	} @@ -1185,13 +1186,10 @@ int main(int argc, char *argv[])  	GIOChannel *dev_io;  	char *device = NULL, *snoop = NULL;  	bdaddr_t bdaddr; -	int fd, dd, opt, daemon, dofork, dev = -1; +	int fd, dd, opt, detach = 1, dev = -1;  	bacpy(&bdaddr, BDADDR_ANY); -	/* Configure default settings */ -	daemon = 1; dofork = 1; -  	while ((opt=getopt_long(argc, argv, "d:b:s:nh", main_options, NULL)) != EOF) {  		switch(opt) {  		case 'd': @@ -1207,7 +1205,7 @@ int main(int argc, char *argv[])  			break;  		case 'n': -			daemon = 0; +			detach = 0;  			break;  		case 'h': @@ -1237,18 +1235,11 @@ int main(int argc, char *argv[])  			exit(1);  	} -	if (daemon) { -		if (dofork && fork()) -			exit(0); - -		/* Direct stdin,stdout,stderr to '/dev/null' */ -		fd = open("/dev/null", O_RDWR); -		dup2(fd, 0); dup2(fd, 1); dup2(fd, 2); -		close(fd); - -		setsid(); - -		chdir("/"); +	if (detach) { +		if (daemon(0, 0)) { +			perror("Can't start daemon"); +			exit(1); +		}  	}  	/* Start logging to syslog and stderr */ diff --git a/test/hstest.c b/test/hstest.c index cda9101c..d94ade20 100644 --- a/test/hstest.c +++ b/test/hstest.c @@ -159,7 +159,7 @@ int main(int argc, char *argv[])  	char *filename;  	mode_t filemode; -	int mode = 0; +	int err, mode = 0;  	int dd, rd, sd, fd;  	uint16_t sco_handle, sco_mtu, vs; @@ -245,7 +245,7 @@ int main(int argc, char *argv[])  	fprintf(stderr, "SCO audio channel connected (handle %d, mtu %d)\n", sco_handle, sco_mtu);  	if (mode == RECORD) -		write(rd, "RING\r\n", 6); +		err = write(rd, "RING\r\n", 6);  	maxfd = (rd > sd) ? rd : sd;  | 
