From 1019f76fc550bebafed0cfb65e6a04b9ff945185 Mon Sep 17 00:00:00 2001 From: Josh Haberman Date: Thu, 14 Apr 2016 10:40:11 -0700 Subject: Added migration flag for users using old JSON format. --- upb/json/parser.rl | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'upb/json/parser.rl') diff --git a/upb/json/parser.rl b/upb/json/parser.rl index fbc2d88..eecb3b2 100644 --- a/upb/json/parser.rl +++ b/upb/json/parser.rl @@ -1362,6 +1362,7 @@ static void add_jsonname_table(upb_json_parsermethod *m, const upb_msgdef* md) { !upb_msg_field_done(&i); upb_msg_field_next(&i)) { const upb_fielddef *f = upb_msg_iter_field(&i); + size_t field_len = upb_fielddef_getjsonname(f, buf, len); if (field_len > len) { size_t len2; @@ -1372,6 +1373,13 @@ static void add_jsonname_table(upb_json_parsermethod *m, const upb_msgdef* md) { } upb_strtable_insert(t, buf, upb_value_constptr(f)); + if (getenv("UPB_JSON_ACCEPT_LEGACY_FIELD_NAMES")) { + /* Temporary code to help people migrate if they were depending on the + * old, non-proto3-json-compliant field names. In this case we + * recognize both old names and new names. */ + upb_strtable_insert(t, upb_fielddef_name(f), upb_value_constptr(f)); + } + if (upb_fielddef_issubmsg(f)) { add_jsonname_table(m, upb_fielddef_msgsubdef(f)); } -- cgit v1.2.3