diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2005-01-27 20:26:31 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2005-01-27 20:26:31 +0000 |
commit | 96bbfb2039b98046fe72c88dc6f737a66ed65fde (patch) | |
tree | ddd269da3ba59738599212c8b40acd7dde8e2768 /test/attest.c | |
parent | d23d9a99e234590f4edf5bafcf57b3e99c57c354 (diff) |
Cleanup the socket handling
Diffstat (limited to 'test/attest.c')
-rw-r--r-- | test/attest.c | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/test/attest.c b/test/attest.c index f4732cb6..cd0e93ca 100644 --- a/test/attest.c +++ b/test/attest.c @@ -2,7 +2,7 @@ * * BlueZ - Bluetooth protocol stack for Linux * - * Copyright (C) 2001-2004 Marcel Holtmann <marcel@holtmann.org> + * Copyright (C) 2001-2005 Marcel Holtmann <marcel@holtmann.org> * * * This program is free software; you can redistribute it and/or modify @@ -33,11 +33,10 @@ #include <stdio.h> #include <errno.h> #include <fcntl.h> +#include <unistd.h> #include <stdlib.h> #include <string.h> -#include <unistd.h> #include <termios.h> -#include <sys/time.h> #include <sys/ioctl.h> #include <sys/socket.h> @@ -85,11 +84,13 @@ static int at_command(int fd, char *cmd, int to) static int open_device(char *device) { - int fd; struct termios ti; + int fd; - if ((fd = open(device, O_RDWR | O_NOCTTY | O_NONBLOCK)) < 0) { - printf("Can't open serial port. %s (%d)\n", strerror(errno), errno); + fd = open(device, O_RDWR | O_NOCTTY | O_NONBLOCK); + if (fd < 0) { + fprintf(stderr, "Can't open serial port: %s (%d)\n", + strerror(errno), errno); return -1; } @@ -104,34 +105,40 @@ static int open_device(char *device) static int open_socket(bdaddr_t *bdaddr, uint8_t channel) { - struct sockaddr_rc remote_addr, local_addr; - int s; + struct sockaddr_rc addr; + int sk; - if ((s = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)) < 0) { - printf("Can't create socket. %s (%d)\n", strerror(errno), errno); + sk = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); + if (sk < 0) { + fprintf(stderr, "Can't create socket: %s (%d)\n", + strerror(errno), errno); return -1; } - memset(&local_addr, 0, sizeof(local_addr)); - local_addr.rc_family = AF_BLUETOOTH; - bacpy(&local_addr.rc_bdaddr, BDADDR_ANY); - if (bind(s, (struct sockaddr *)&local_addr, sizeof(local_addr)) < 0) { - printf("Can't bind socket. %s (%d)\n", strerror(errno), errno); - close(s); + memset(&addr, 0, sizeof(addr)); + addr.rc_family = AF_BLUETOOTH; + bacpy(&addr.rc_bdaddr, BDADDR_ANY); + + if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { + fprintf(stderr, "Can't bind socket: %s (%d)\n", + strerror(errno), errno); + close(sk); return -1; } - memset(&remote_addr, 0, sizeof(remote_addr)); - remote_addr.rc_family = AF_BLUETOOTH; - bacpy(&remote_addr.rc_bdaddr, bdaddr); - remote_addr.rc_channel = channel; - if (connect(s, (struct sockaddr *)&remote_addr, sizeof(remote_addr)) < 0) { - printf("Can't connect. %s (%d)\n", strerror(errno), errno); - close(s); + memset(&addr, 0, sizeof(addr)); + addr.rc_family = AF_BLUETOOTH; + bacpy(&addr.rc_bdaddr, bdaddr); + addr.rc_channel = channel; + + if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { + fprintf(stderr, "Can't connect: %s (%d)\n", + strerror(errno), errno); + close(sk); return -1; } - return s; + return sk; } static void usage(void) |