diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2005-01-11 10:10:34 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2005-01-11 10:10:34 +0000 |
commit | 3c967ce42aee827ff36622c7b70cbd65ef6dd900 (patch) | |
tree | 01d9c9da9f58ec3068dd2e04b4344851ab9e94b4 /test/rctest.c | |
parent | 95cd931b918a07fcf12e48dce9665f3c90ab4130 (diff) |
Fix memory leaks and make more functions static
Diffstat (limited to 'test/rctest.c')
-rw-r--r-- | test/rctest.c | 94 |
1 files changed, 46 insertions, 48 deletions
diff --git a/test/rctest.c b/test/rctest.c index 31d2be0f..041e36b3 100644 --- a/test/rctest.c +++ b/test/rctest.c @@ -65,35 +65,35 @@ enum { LSEND }; -unsigned char *buf; +static unsigned char *buf; /* Default data size */ -long data_size = 127; -long num_frames = -1; +static long data_size = 127; +static long num_frames = -1; /* Default addr and channel */ -bdaddr_t bdaddr; -uint8_t channel = 10; +static bdaddr_t bdaddr; +static uint8_t channel = 10; -int master = 0; -int auth = 0; -int encrypt = 0; -int secure = 0; -int socktype = SOCK_STREAM; -int linger = 0; +static int master = 0; +static int auth = 0; +static int encrypt = 0; +static int secure = 0; +static int socktype = SOCK_STREAM; +static int linger = 0; -float tv2fl(struct timeval tv) +static float tv2fl(struct timeval tv) { return (float)tv.tv_sec + (float)(tv.tv_usec/1000000.0); } -int do_connect(char *svr) +static int do_connect(char *svr) { struct sockaddr_rc rem_addr, loc_addr; struct rfcomm_conninfo conn; int s, opt; - if( (s = socket(PF_BLUETOOTH, socktype, BTPROTO_RFCOMM)) < 0 ) { + if ((s = socket(PF_BLUETOOTH, socktype, BTPROTO_RFCOMM)) < 0) { syslog(LOG_ERR, "Can't create socket. %s(%d)", strerror(errno), errno); return -1; } @@ -110,17 +110,17 @@ int do_connect(char *svr) memset(&loc_addr, 0, sizeof(loc_addr)); loc_addr.rc_family = AF_BLUETOOTH; - loc_addr.rc_bdaddr = bdaddr; - if( bind(s, (struct sockaddr *) &loc_addr, sizeof(loc_addr)) < 0 ) { + bacpy(&loc_addr.rc_bdaddr, &bdaddr); + if (bind(s, (struct sockaddr *) &loc_addr, sizeof(loc_addr)) < 0) { syslog(LOG_ERR, "Can't bind socket. %s(%d)", strerror(errno), errno); exit(1); } memset(&rem_addr, 0, sizeof(rem_addr)); rem_addr.rc_family = AF_BLUETOOTH; - baswap(&rem_addr.rc_bdaddr, strtoba(svr)); + str2ba(svr, &rem_addr.rc_bdaddr); rem_addr.rc_channel = channel; - if( connect(s, (struct sockaddr *)&rem_addr, sizeof(rem_addr)) < 0 ){ + if (connect(s, (struct sockaddr *) &rem_addr, sizeof(rem_addr)) < 0) { syslog(LOG_ERR, "Can't connect. %s(%d)", strerror(errno), errno); close(s); return -1; @@ -141,21 +141,21 @@ int do_connect(char *svr) return s; } -void do_listen( void (*handler)(int sk) ) +static void do_listen(void (*handler)(int sk)) { struct sockaddr_rc loc_addr, rem_addr; - int s, s1, opt; - bdaddr_t ba; + int s, s1, opt; + char ba[18]; - if( (s = socket(PF_BLUETOOTH, socktype, BTPROTO_RFCOMM)) < 0 ) { + if ((s = socket(PF_BLUETOOTH, socktype, BTPROTO_RFCOMM)) < 0) { syslog(LOG_ERR, "Can't create socket. %s(%d)", strerror(errno), errno); exit(1); } loc_addr.rc_family = AF_BLUETOOTH; - loc_addr.rc_bdaddr = bdaddr; + bacpy(&loc_addr.rc_bdaddr, &bdaddr); loc_addr.rc_channel = channel; - if( bind(s, (struct sockaddr *) &loc_addr, sizeof(loc_addr)) < 0 ) { + if (bind(s, (struct sockaddr *) &loc_addr, sizeof(loc_addr)) < 0) { syslog(LOG_ERR, "Can't bind socket. %s(%d)", strerror(errno), errno); exit(1); } @@ -176,7 +176,7 @@ void do_listen( void (*handler)(int sk) ) exit(1); } - if( listen(s, 10) ) { + if (listen(s, 10)) { syslog(LOG_ERR,"Can not listen on the socket. %s(%d)", strerror(errno), errno); exit(1); } @@ -185,11 +185,11 @@ void do_listen( void (*handler)(int sk) ) while(1) { opt = sizeof(rem_addr); - if( (s1 = accept(s, (struct sockaddr *)&rem_addr, &opt)) < 0 ) { + if ((s1 = accept(s, (struct sockaddr *) &rem_addr, &opt)) < 0) { syslog(LOG_ERR,"Accept failed. %s(%d)", strerror(errno), errno); exit(1); } - if( fork() ) { + if (fork()) { /* Parent */ close(s1); continue; @@ -198,8 +198,8 @@ void do_listen( void (*handler)(int sk) ) close(s); - baswap(&ba, &rem_addr.rc_bdaddr); - syslog(LOG_INFO, "Connect from %s \n", batostr(&ba)); + ba2str(&rem_addr.rc_bdaddr, ba); + syslog(LOG_INFO, "Connect from %s", ba); /* Enable SO_LINGER */ if (linger) { @@ -213,21 +213,21 @@ void do_listen( void (*handler)(int sk) ) handler(s1); - syslog(LOG_INFO, "Disconnect\n"); + syslog(LOG_INFO, "Disconnect"); exit(0); } } -void dump_mode(int s) +static void dump_mode(int s) { int len; syslog(LOG_INFO, "Receiving ..."); while ((len = read(s, buf, data_size)) > 0) - syslog(LOG_INFO, "Recevied %d bytes\n", len); + syslog(LOG_INFO, "Recevied %d bytes", len); } -void recv_mode(int s) +static void recv_mode(int s) { struct timeval tv_beg,tv_end,tv_diff; long total; @@ -279,11 +279,11 @@ void recv_mode(int s) timersub(&tv_end,&tv_beg,&tv_diff); syslog(LOG_INFO,"%ld bytes in %.2f sec, %.2f kB/s",total, - tv2fl(tv_diff), (float)(total / tv2fl(tv_diff) ) / 1024.0); + tv2fl(tv_diff), (float)(total / tv2fl(tv_diff) ) / 1024.0); } } -void send_mode(int s) +static void send_mode(int s) { uint32_t seq; int i; @@ -312,7 +312,7 @@ void send_mode(int s) syslog(LOG_INFO, "Done"); } -void reconnect_mode(char *svr) +static void reconnect_mode(char *svr) { while(1) { int s = do_connect(svr); @@ -320,11 +320,11 @@ void reconnect_mode(char *svr) } } -void multi_connect_mode(char *svr) +static void multi_connect_mode(char *svr) { while (1) { int i, s; - for (i=0; i<10; i++) { + for (i = 0; i < 10; i++) { if (fork()) continue; /* Child */ @@ -337,7 +337,7 @@ void multi_connect_mode(char *svr) } } -void usage(void) +static void usage(void) { printf("rctest - RFCOMM testing\n" "Usage:\n"); @@ -354,16 +354,13 @@ void usage(void) printf("Options:\n" "\t[-b bytes] [-i device] [-P channel]\n" - "\t[-L seconds] enabled SO_LINGER option\n" - "\t[-N num] number of frames to send\n" + "\t[-L seconds] enabled SO_LINGER option\n" + "\t[-N num] number of frames to send\n" "\t[-A] request authentication\n" "\t[-E] request encryption\n" - "\t[-M] become master\n"); + "\t[-M] become master\n"); } -extern int optind,opterr,optopt; -extern char *optarg; - int main(int argc ,char *argv[]) { int opt, mode, s, need_addr; @@ -374,11 +371,11 @@ int main(int argc ,char *argv[]) bacpy(&bdaddr, BDADDR_ANY); while ((opt=getopt(argc,argv,"rdscuwmnb:i:P:N:MAESL:")) != EOF) { - switch(opt) { + switch (opt) { case 'r': mode = RECV; break; - + case 's': mode = SEND; need_addr = 1; @@ -474,7 +471,7 @@ int main(int argc ,char *argv[]) openlog("rctest", LOG_PERROR | LOG_PID, LOG_LOCAL0); - switch( mode ){ + switch (mode) { case RECV: do_listen(recv_mode); break; @@ -516,6 +513,7 @@ int main(int argc ,char *argv[]) dump_mode(s); break; } + syslog(LOG_INFO, "Exit"); closelog(); |