/* Default data size */
static long data_size = -1;
+static long buffer_size = 2048;
/* Default addr and psm */
static bdaddr_t bdaddr;
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;
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) {
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)
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)
syslog(LOG_INFO, "Sending ...");
+ if (data_size < 0)
+ data_size = omtu;
+
if (filename) {
fd = open(filename, O_RDONLY);
if (fd < 0) {
}
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);
}