diff --git a/src/kits/bluetooth/RemoteDevice.cpp b/src/kits/bluetooth/RemoteDevice.cpp index 82e59bcac6..599acfc383 100644 --- a/src/kits/bluetooth/RemoteDevice.cpp +++ b/src/kits/bluetooth/RemoteDevice.cpp @@ -10,13 +10,15 @@ #include #include #include - #include -#include #include #include + +#include + #include +#include #include "KitSupport.h" @@ -73,13 +75,21 @@ RemoteDevice::GetFriendlyName(bool alwaysAsk) BString name; int8 status; - if (reply.FindInt8("status", &status) == B_OK && - reply.FindString("friendlyname", &name) == B_OK ) { - return name; + if ((reply.FindInt8("status", &status) == B_OK) && (status == BT_OK)) { + + if ((reply.FindString("friendlyname", &name) == B_OK ) ) { + return name; + } else { + return BString("");// should not happen } + + } else { + // seems we got a netative event + return BString("#CommandFailed#Not Valid name"); + } } - return BString("#NotCompletedRequestr#Not Valid name"); + return BString("#NotCompletedRequest#Not Valid name"); } diff --git a/src/servers/bluetooth/LocalDeviceImpl.cpp b/src/servers/bluetooth/LocalDeviceImpl.cpp index 77a68f9c7e..89a10146a6 100644 --- a/src/servers/bluetooth/LocalDeviceImpl.cpp +++ b/src/servers/bluetooth/LocalDeviceImpl.cpp @@ -426,7 +426,16 @@ LocalDeviceImpl::CommandStatus(struct hci_ev_cmd_status* event, BMessage* reques case PACK_OPCODE(OGF_LINK_CONTROL, OCF_REMOTE_NAME_REQUEST): { - ClearWantedEvent(request, HCI_EVENT_CMD_STATUS, PACK_OPCODE(OGF_LINK_CONTROL, OCF_REMOTE_NAME_REQUEST)); + if (event->status==BT_OK) { + ClearWantedEvent(request, HCI_EVENT_CMD_STATUS, PACK_OPCODE(OGF_LINK_CONTROL, OCF_REMOTE_NAME_REQUEST)); + } + else { + BMessage reply; + reply.AddInt8("status", event->status); + Output::Instance()->Post("Negative reply for remote friendly name\n", BLACKBOARD_KIT); + printf("Sending reply ... %ld\n", request->SendReply(&reply)); + ClearWantedEvent(request); + } } break; /* @@ -504,7 +513,6 @@ LocalDeviceImpl::RemoteNameRequestComplete(struct hci_ev_remote_name_request_com // This request is not gonna be used anymore ClearWantedEvent(request); - }