From 865876895d5a35bfa4f4135b1f545b73fb2faaac Mon Sep 17 00:00:00 2001 From: Josh Haberman Date: Sat, 26 Jan 2019 19:49:09 -0800 Subject: Fixed tests and code. --- upb/table.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'upb') diff --git a/upb/table.c b/upb/table.c index 4239c6f..10d8322 100644 --- a/upb/table.c +++ b/upb/table.c @@ -381,6 +381,7 @@ void upb_strtable_next(upb_strtable_iter *i) { } bool upb_strtable_done(const upb_strtable_iter *i) { + if (!i->t) return true; return i->index >= upb_table_size(&i->t->t) || upb_tabent_isempty(str_tabent(i)); } @@ -403,6 +404,7 @@ upb_value upb_strtable_iter_value(const upb_strtable_iter *i) { } void upb_strtable_iter_setdone(upb_strtable_iter *i) { + i->t = NULL; i->index = SIZE_MAX; } @@ -692,6 +694,7 @@ void upb_inttable_next(upb_inttable_iter *iter) { } bool upb_inttable_done(const upb_inttable_iter *i) { + if (!i->t) return true; if (i->array_part) { return i->index >= i->t->array_size || !upb_arrhas(int_arrent(i)); @@ -714,6 +717,7 @@ upb_value upb_inttable_iter_value(const upb_inttable_iter *i) { } void upb_inttable_iter_setdone(upb_inttable_iter *i) { + i->t = NULL; i->index = SIZE_MAX; i->array_part = false; } -- cgit v1.2.3