diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2014-02-11 11:53:00 -0800 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-02-11 11:53:00 -0800 |
commit | 6d30d42da25c945d7b0c164869a1da719d9ddf52 (patch) | |
tree | c1a9ee6d9e4fae75f4009358fabe1ddce4a0b72e /monitor/analyze.c | |
parent | b1e20ea79a5c7cd52931cffd315a25f527a07400 (diff) | |
download | bluez-6d30d42da25c945d7b0c164869a1da719d9ddf52.tar.gz |
monitor: Use shared btsnoop for reading and writing trace files
Diffstat (limited to 'monitor/analyze.c')
-rw-r--r-- | monitor/analyze.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/monitor/analyze.c b/monitor/analyze.c index afb6dee13..2d994e3c1 100644 --- a/monitor/analyze.c +++ b/monitor/analyze.c @@ -31,7 +31,7 @@ #include "src/shared/util.h" #include "src/shared/queue.h" -#include "monitor/btsnoop.h" +#include "src/shared/btsnoop.h" #include "monitor/bt.h" #include "analyze.h" @@ -255,12 +255,16 @@ static void sco_pkt(struct timeval *tv, uint16_t index, void analyze_trace(const char *path) { + struct btsnoop *btsnoop_file; unsigned long num_packets = 0; uint32_t type; - if (btsnoop_open(path, &type) < 0) + btsnoop_file = btsnoop_open(path); + if (!btsnoop_file) return; + type = btsnoop_get_type(btsnoop_file); + switch (type) { case BTSNOOP_TYPE_HCI: case BTSNOOP_TYPE_UART: @@ -282,7 +286,8 @@ void analyze_trace(const char *path) struct timeval tv; uint16_t index, opcode, pktlen; - if (btsnoop_read_hci(&tv, &index, &opcode, buf, &pktlen) < 0) + if (btsnoop_read_hci(btsnoop_file, &tv, &index, &opcode, + buf, &pktlen) < 0) break; switch (opcode) { @@ -316,5 +321,5 @@ void analyze_trace(const char *path) queue_destroy(dev_list, dev_destroy); done: - btsnoop_close(); + btsnoop_unref(btsnoop_file); } |