All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/15] dbus: Add _dbus1_message_iter_skip_entry.
@ 2016-03-21 22:10 Andrew Zaborowski
  2016-03-21 22:10 ` [PATCH 02/15] gvariant: Add _gvariant_iter_skip_entry Andrew Zaborowski
                   ` (14 more replies)
  0 siblings, 15 replies; 38+ messages in thread
From: Andrew Zaborowski @ 2016-03-21 22:10 UTC (permalink / raw)
  To: ell

[-- Attachment #1: Type: text/plain, Size: 1533 bytes --]

This will be used for the get_nth_string_argument function in
dbus-message.c.  There seems to be no other way to skip over an iterator
entry without knowing the data type.
---
 ell/dbus-private.h |  1 +
 ell/dbus-util.c    | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/ell/dbus-private.h b/ell/dbus-private.h
index 8322475..cfed4f7 100644
--- a/ell/dbus-private.h
+++ b/ell/dbus-private.h
@@ -77,6 +77,7 @@ bool _dbus1_iter_enter_variant(struct l_dbus_message_iter *iter,
 					struct l_dbus_message_iter *variant);
 bool _dbus1_iter_enter_array(struct l_dbus_message_iter *iter,
 					struct l_dbus_message_iter *array);
+bool _dbus1_iter_skip_entry(struct l_dbus_message_iter *iter);
 
 struct dbus_builder *_dbus1_builder_new(void *body, size_t body_size);
 void _dbus1_builder_free(struct dbus_builder *builder);
diff --git a/ell/dbus-util.c b/ell/dbus-util.c
index 5ab4298..9d5b5af 100644
--- a/ell/dbus-util.c
+++ b/ell/dbus-util.c
@@ -805,6 +805,22 @@ bool _dbus1_iter_enter_array(struct l_dbus_message_iter *iter,
 	return true;
 }
 
+bool _dbus1_iter_skip_entry(struct l_dbus_message_iter *iter)
+{
+	size_t len;
+	const char *sig_end;
+
+	sig_end = calc_len_next_item(iter->sig_start + iter->sig_pos,
+					iter->data, iter->pos, iter->len, &len);
+	if (!sig_end)
+		return false;
+
+	iter->pos += len;
+	iter->sig_pos = sig_end - iter->sig_start;
+
+	return true;
+}
+
 struct dbus_builder {
 	struct l_string *signature;
 	void *body;
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2016-03-27  3:48 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-21 22:10 [PATCH 01/15] dbus: Add _dbus1_message_iter_skip_entry Andrew Zaborowski
2016-03-21 22:10 ` [PATCH 02/15] gvariant: Add _gvariant_iter_skip_entry Andrew Zaborowski
2016-03-24 14:35   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 03/15] dbus: Add _dbus_message_get_nth_string_argument Andrew Zaborowski
2016-03-24 14:35   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 04/15] dbus: Support 2+ arguments in l_dbus_message_get_error Andrew Zaborowski
2016-03-24 14:36   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 05/15] dbus: Fix _dbus_kernel_calculate_bloom for multiple arguments Andrew Zaborowski
2016-03-24 14:39   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 06/15] dbus: Add message filter logic in dbus-filter.c Andrew Zaborowski
2016-03-24 16:36   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 07/15] unit: Add dbus message filter tests Andrew Zaborowski
2016-03-24 16:37   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 08/15] dbus-filter: Name owner change tracking support Andrew Zaborowski
2016-03-24 17:28   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 09/15] dbus: Classic dbus filter_ops implementation Andrew Zaborowski
2016-03-24 17:41   ` Denis Kenzior
2016-03-25 23:30     ` Andrzej Zaborowski
2016-03-26  2:37       ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 10/15] dbus: kdbus " Andrew Zaborowski
2016-03-24 17:51   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 11/15] linux: Update kdbus.h to current github version Andrew Zaborowski
2016-03-24 17:52   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 12/15] dbus-kernel: Update kdbus API usage to current version Andrew Zaborowski
2016-03-24 17:52   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 13/15] dbus: Add message filter public API Andrew Zaborowski
2016-03-24 18:04   ` Denis Kenzior
2016-03-25 23:45     ` Andrzej Zaborowski
2016-03-26  2:42       ` Denis Kenzior
2016-03-26 15:22         ` Andrzej Zaborowski
2016-03-26 21:53           ` Denis Kenzior
2016-03-27  3:48             ` Andrzej Zaborowski
2016-03-21 22:10 ` [PATCH 14/15] unit: Use the message filter API in dbus tests Andrew Zaborowski
2016-03-24 18:06   ` Denis Kenzior
2016-03-21 22:10 ` [PATCH 15/15] dbus: Don't send replies to messages with no reply flag Andrew Zaborowski
2016-03-24 18:12   ` Denis Kenzior
2016-03-25 23:52     ` Andrzej Zaborowski
2016-03-24 14:35 ` [PATCH 01/15] dbus: Add _dbus1_message_iter_skip_entry Denis Kenzior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.