summaryrefslogtreecommitdiff
path: root/upb/handlers.c
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2015-05-08 17:30:22 -0700
committerJoshua Haberman <jhaberman@gmail.com>2015-05-08 17:30:22 -0700
commitccc0fd0dbbcebb43f4d85d7df1439e1fc7993bf8 (patch)
treeda3cbc97eed1eb70af5e0f3a687ff37ad239d119 /upb/handlers.c
parentbd7ea8c6f1854aa37b7792c6f23334ffc0fd94ff (diff)
parent838009ba2b8ea1e99061c66e0fbd9cb53a96ec20 (diff)
Merge pull request #18 from haberman/google-internal
Sync from Google-internal development.
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