Fix send and recv message sizes.

This commit is contained in:
Luiz Augusto von Dentz 2009-01-06 11:00:44 -03:00
parent be49c92a38
commit 1a96c9b0a6

View file

@ -123,11 +123,13 @@ static const char* const valid_modargs[] = {
static int bt_audioservice_send(int sk, const bt_audio_msg_header_t *msg) { static int bt_audioservice_send(int sk, const bt_audio_msg_header_t *msg) {
int e; int e;
const char *type, *name; const char *type, *name;
uint16_t length;
length = msg->length ? msg->length : BT_SUGGESTED_BUFFER_SIZE;
type = bt_audio_strtype(msg->type); type = bt_audio_strtype(msg->type);
name = bt_audio_strname(msg->name); name = bt_audio_strname(msg->name);
pa_log_debug("sending: %s -> %s", type, name); pa_log_debug("sending: %s -> %s", type, name);
if (send(sk, msg, msg->length, 0) > 0) if (send(sk, msg, length, 0) > 0)
e = 0; e = 0;
else { else {
e = -errno; e = -errno;
@ -139,9 +141,12 @@ static int bt_audioservice_send(int sk, const bt_audio_msg_header_t *msg) {
static int bt_audioservice_recv(int sk, bt_audio_msg_header_t *inmsg, uint16_t expected_length) { static int bt_audioservice_recv(int sk, bt_audio_msg_header_t *inmsg, uint16_t expected_length) {
int e; int e;
const char *type, *name; const char *type, *name;
uint16_t length;
length = expected_length ? expected_length : BT_SUGGESTED_BUFFER_SIZE;
pa_log_debug("trying to receive msg from audio service..."); pa_log_debug("trying to receive msg from audio service...");
if (recv(sk, inmsg, expected_length ? : BT_SUGGESTED_BUFFER_SIZE, 0) > 0) { if (recv(sk, inmsg, length, 0) > 0) {
type = bt_audio_strtype(inmsg->type); type = bt_audio_strtype(inmsg->type);
name = bt_audio_strname(inmsg->name); name = bt_audio_strname(inmsg->name);
if (type && name) { if (type && name) {