diff options
| author | Marcel Holtmann <marcel@holtmann.org> | 2009-01-15 10:44:52 +0100 | 
|---|---|---|
| committer | Marcel Holtmann <marcel@holtmann.org> | 2009-01-15 10:44:52 +0100 | 
| commit | 41e30382f9a83f41da700465de274266c60248b4 (patch) | |
| tree | 1df622fc3ddc2abecd3abdd17765dc9084c1e1cd /test/l2test.c | |
| parent | f213783e7d4068268187310251fedc546b9f212f (diff) | |
Differentiate between buffer and data size
Diffstat (limited to 'test/l2test.c')
| -rw-r--r-- | test/l2test.c | 23 | 
1 files changed, 19 insertions, 4 deletions
| diff --git a/test/l2test.c b/test/l2test.c index 5c7955bc..5b6e2689 100644 --- a/test/l2test.c +++ b/test/l2test.c @@ -72,6 +72,7 @@ static int omtu = 0;  /* Default data size */  static long data_size = -1; +static long buffer_size = 2048;  /* Default addr and psm */  static bdaddr_t bdaddr; @@ -305,8 +306,8 @@ static int do_connect(char *svr)  		opts.imtu, opts.omtu, opts.flush_to, opts.mode, conn.hci_handle,  		conn.dev_class[2], conn.dev_class[1], conn.dev_class[0]); -	omtu = opts.omtu; -	imtu = opts.imtu; +	omtu = (opts.omtu > buffer_size) ? buffer_size : opts.omtu; +	imtu = (opts.imtu > buffer_size) ? buffer_size : opts.imtu;  	return sk; @@ -470,6 +471,9 @@ static void do_listen(void (*handler)(int sk))  			ba, opts.imtu, opts.omtu, opts.flush_to, opts.mode, conn.hci_handle,  			conn.dev_class[2], conn.dev_class[1], conn.dev_class[0]); +		omtu = (opts.omtu > buffer_size) ? buffer_size : opts.omtu; +		imtu = (opts.imtu > buffer_size) ? buffer_size : opts.imtu; +  #if 0  		/* Enable SO_TIMESTAMP */  		if (timestamp) { @@ -525,6 +529,9 @@ static void dump_mode(int sk)  	socklen_t optlen;  	int opt, len; +	if (data_size < 0) +		data_size = imtu; +  	if (defer_setup) {  		len = read(sk, buf, sizeof(buf));  		if (len < 0) @@ -582,6 +589,9 @@ static void recv_mode(int sk)  	socklen_t optlen;  	int opt, len; +	if (data_size < 0) +		data_size = imtu; +  	if (defer_setup) {  		len = read(sk, buf, sizeof(buf));  		if (len < 0) @@ -685,6 +695,9 @@ static void do_send(int sk)  	syslog(LOG_INFO, "Sending ..."); +	if (data_size < 0) +		data_size = omtu; +  	if (filename) {  		fd = open(filename, O_RDONLY);  		if (fd < 0) { @@ -1142,9 +1155,11 @@ int main(int argc, char *argv[])  	}  	if (data_size < 0) -		data_size = (omtu > imtu) ? omtu : imtu; +		buffer_size = (omtu > imtu) ? omtu : imtu; +	else +		buffer_size = data_size; -	if (!(buf = malloc(data_size))) { +	if (!(buf = malloc(buffer_size))) {  		perror("Can't allocate data buffer");  		exit(1);  	} | 
