summaryrefslogtreecommitdiff
path: root/upb/handlers.c
diff options
context:
space:
mode:
Diffstat (limited to 'upb/handlers.c')
-rw-r--r--upb/handlers.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/upb/handlers.c b/upb/handlers.c
index fe368e5..5a253f1 100644
--- a/upb/handlers.c
+++ b/upb/handlers.c
@@ -176,7 +176,14 @@ static bool doset(upb_handlers *h, int32_t sel, const upb_fielddef *f,
if (closure_type && *context_closure_type &&
closure_type != *context_closure_type) {
// TODO(haberman): better message for debugging.
- upb_status_seterrmsg(&h->status_, "closure type does not match");
+ if (f) {
+ upb_status_seterrf(&h->status_,
+ "closure type does not match for field %s",
+ upb_fielddef_name(f));
+ } else {
+ upb_status_seterrmsg(
+ &h->status_, "closure type does not match for message-level handler");
+ }
return false;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback