diff --git a/profiles/midi/midi.c b/profiles/midi/midi.c
index 40064df..bab309b 100644
--- a/profiles/midi/midi.c
+++ b/profiles/midi/midi.c
struct midi_write_parser midi_out;
};
+static void foreach_cb(const struct midi_write_parser *parser, void *user_data)
+{
+ struct midi *midi = user_data;
+
+ bt_gatt_client_write_without_response(midi->client,
+ midi->midi_io_handle, false,
+ midi_write_data(parser),
+ midi_write_data_size(parser));
+}
+
static bool midi_write_cb(struct io *io, void *user_data)
{
struct midi *midi = user_data;
int err;
- void foreach_cb(const struct midi_write_parser *parser, void *user_data) {
- struct midi *midi = user_data;
- bt_gatt_client_write_without_response(midi->client,
- midi->midi_io_handle,
- false,
- midi_write_data(parser),
- midi_write_data_size(parser));
- };
-
do {
snd_seq_event_t *event = NULL;
if (midi_write_has_data(&midi->midi_out))
bt_gatt_client_write_without_response(midi->client,
- midi->midi_io_handle,
- false,
- midi_write_data(&midi->midi_out),
- midi_write_data_size(&midi->midi_out));
+ midi->midi_io_handle,
+ false,
+ midi_write_data(&midi->midi_out),
+ midi_write_data_size(&midi->midi_out));
midi_write_reset(&midi->midi_out);
diff --git a/unit/test-midi.c b/unit/test-midi.c
index 644fcdc..702133e 100644
--- a/unit/test-midi.c
+++ b/unit/test-midi.c
static const struct midi_write_test midi5 = BLE_WRITE_TEST_INIT(event5, event5_expect);
-static void test_midi_writer(gconstpointer data)
+struct midi_data {
+ size_t events_tested;
+ const struct midi_write_test *midi_test;
+ struct midi_read_parser *midi_in;
+} midi_data;
+
+static void compare_events_cb(const struct midi_write_parser *parser,
+ void *user_data)
{
- const struct midi_write_test *midi_test = data;
- struct midi_write_parser midi_out;
- struct midi_read_parser midi_in;
- size_t i; /* event counter */
- size_t j; /* test counter */
- struct midi_data {
- size_t events_tested;
- const struct midi_write_test *midi_test;
- struct midi_read_parser *midi_in;
- } midi_data;
+ struct midi_data *midi_data = user_data;
+ const struct midi_write_test *midi_test = midi_data->midi_test;
+ struct midi_read_parser *midi_in = midi_data->midi_in;
+ size_t i = 0;
- void compare_events_cb(const struct midi_write_parser *parser, void *user_data) {
- struct midi_data *midi_data = user_data;
- const struct midi_write_test *midi_test = midi_data->midi_test;
- struct midi_read_parser *midi_in = midi_data->midi_in;
- size_t i = 0;
+ midi_read_reset(midi_in);
- midi_read_reset(midi_in);
+ while (i < midi_write_data_size(parser)) {
+ snd_seq_event_t ev;
+ size_t count;
- while (i < midi_write_data_size(parser)) {
- snd_seq_event_t ev;
- size_t count;
+ snd_seq_ev_clear(&ev);
- snd_seq_ev_clear(&ev);
+ count = midi_read_raw(midi_in, midi_write_data(parser) + i,
+ midi_write_data_size(parser) - i, &ev);
- count = midi_read_raw(midi_in, midi_write_data(parser) + i,
- midi_write_data_size(parser) - i, &ev);
+ g_assert_cmpuint(count, >, 0);
- g_assert_cmpuint(count, >, 0);
+ if (ev.type != SND_SEQ_EVENT_NONE){
+ g_assert_cmpint(midi_data->events_tested, <,
+ midi_test->event_expect_size);
+ compare_events(&midi_test->event_expect
+ [midi_data->events_tested],
+ &ev);
+ midi_data->events_tested++;
+ }
- if (ev.type != SND_SEQ_EVENT_NONE){
- g_assert_cmpint(midi_data->events_tested,
- <,
- midi_test->event_expect_size);
- compare_events(&midi_test->event_expect[midi_data->events_tested],
- &ev);
- midi_data->events_tested++;
- }
+ i += count;
+ }
+};
- i += count;
- }
- };
+static void test_midi_writer(gconstpointer data)
+{
+ const struct midi_write_test *midi_test = data;
+ struct midi_write_parser midi_out;
+ struct midi_read_parser midi_in;
+ size_t i; /* event counter */
+ size_t j; /* test counter */
+ struct midi_data midi_data;
midi_read_init(&midi_in);