diff options
author | Joshua Haberman <joshua@reverberate.org> | 2011-05-19 10:56:34 -0700 |
---|---|---|
committer | Joshua Haberman <joshua@reverberate.org> | 2011-05-19 10:56:34 -0700 |
commit | d619852e06983dc30d2070f6c4af32d563b101f2 (patch) | |
tree | aad6f6c1e2221ec2f0703fab2a842022156fa520 /src/upb_decoder.h | |
parent | a5506318aa6f815f8c9439de99247463ad8883e0 (diff) |
Change dispatcher error handling model.
Now the dispatcher will call error handlers
instaed of returning statuses that the caller
has to constantly check.
Diffstat (limited to 'src/upb_decoder.h')
-rw-r--r-- | src/upb_decoder.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/upb_decoder.h b/src/upb_decoder.h index 56df810..a98b235 100644 --- a/src/upb_decoder.h +++ b/src/upb_decoder.h @@ -78,6 +78,14 @@ struct _upb_decoder { sigjmp_buf exitjmp; }; +// For use in the upb_dispatcher's stack. +typedef struct { + // Relative to the beginning of this buffer. + // For groups and the top-level: UINT32_MAX. + uint32_t end_offset; + bool is_packed; // == !upb_issubmsg(f) && end_offset != UPB_REPATEDEND +} upb_decoder_srcdata; + // A upb_decoder decodes the binary protocol buffer format, writing the data it // decodes to a upb_sink. struct _upb_decoder; |