Diff between aaf689ce716d1503cab8d4f7e14450c5db9be58e and e12790fc9ce18901c9271946f125c52166b372c4

Changed Files

File Additions Deletions Status
tools/btmgmt.c +7 -7 modified

Full Patch

diff --git a/tools/btmgmt.c b/tools/btmgmt.c
index ab915d4..1d24fe3 100644
--- a/tools/btmgmt.c
+++ b/tools/btmgmt.c
@@ -248,12 +248,14 @@ static void print_settings(uint32_t settings)
 	}
 }
 
-static int mgmt_new_settings(int mgmt_sk, uint16_t index,
-					uint32_t *ev, uint16_t len)
+static void new_settings(uint16_t index, uint16_t len,
+					const void *param, void *user_data)
 {
+	const uint32_t *ev = param;
+
 	if (len < sizeof(*ev)) {
 		fprintf(stderr, "Too short new_settings event (%u)\n", len);
-		return -EINVAL;
+		return;
 	}
 
 	if (monitor) {
@@ -261,8 +263,6 @@ static int mgmt_new_settings(int mgmt_sk, uint16_t index,
 		print_settings(bt_get_le32(ev));
 		printf("\n");
 	}
-
-	return 0;
 }
 
 static int mgmt_discovering(int mgmt_sk, uint16_t index,
@@ -714,8 +714,6 @@ static int mgmt_handle_event(int mgmt_sk, uint16_t ev, uint16_t index,
 		return mgmt_cmd_complete(mgmt_sk, index, data, len);
 	case MGMT_EV_CMD_STATUS:
 		return mgmt_cmd_status(mgmt_sk, index, data, len);
-	case MGMT_EV_NEW_SETTINGS:
-		return mgmt_new_settings(mgmt_sk, index, data, len);
 	case MGMT_EV_DISCOVERING:
 		return mgmt_discovering(mgmt_sk, index, data, len);
 	case MGMT_EV_NEW_LINK_KEY:
@@ -2036,6 +2034,8 @@ int main(int argc, char *argv[])
 								NULL, NULL);
 	mgmt_register(mgmt, MGMT_EV_INDEX_REMOVED, index, index_removed,
 								NULL, NULL);
+	mgmt_register(mgmt, MGMT_EV_NEW_SETTINGS, index, new_settings,
+								NULL, NULL);
 
 	event_loop = g_main_loop_new(NULL, FALSE);
 	mgmt_io = g_io_channel_unix_new(mgmt_sk);