[PATCH 1/8] stk: Make parse_dataobj not consume extra data
Yang Gu
gyagp0 at gmail.com
Wed May 26 07:39:07 PDT 2010
---
src/stkutil.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/src/stkutil.c b/src/stkutil.c
index 016bde9..fd5b7c6 100644
--- a/src/stkutil.c
+++ b/src/stkutil.c
@@ -2023,6 +2023,7 @@ static gboolean parse_dataobj(struct comprehension_tlv_iter *iter,
GSList *l;
va_list args;
gboolean minimum_set = TRUE;
+ struct comprehension_tlv_iter iter_old;
va_start(args, type);
@@ -2056,11 +2057,14 @@ static gboolean parse_dataobj(struct comprehension_tlv_iter *iter,
if (handler(iter, entry->data))
entry->parsed = TRUE;
+ comprehension_tlv_iter_copy(iter, &iter_old);
+
if (comprehension_tlv_iter_next(iter) == FALSE)
break;
}
}
+ comprehension_tlv_iter_copy(&iter_old, iter);
out:
for (l = entries; l; l = l->next) {
struct dataobj_handler_entry *entry = l->data;
@@ -2293,6 +2297,9 @@ static GSList *parse_item_list(struct comprehension_tlv_iter *iter)
struct stk_item item;
GSList *list = NULL;
+ if (comprehension_tlv_iter_next(iter) != TRUE)
+ return NULL;
+
if (comprehension_tlv_iter_get_tag(iter) != tag)
return NULL;
--
1.7.0.4
More information about the ofono
mailing list