Made a common longjmp()-handling layer, which can optionally be used on `upb_EpsCopyInputStream`.
`upb_EpsCopyInputStream` and `upb_WireReader` can now report all errors via `longjmp()` when an error handler is installed. This lets us unwind some complexity: * The decoder can now just use `upb_WireReader_Read*()`, instead of having a separate copy of those functions solely so that errors can `longjmp()`. * `upb_EpsCopyInputStream` no longer needs to support a custom callback for `IsDoneFallback`, which existed solely so that errors could `longjmp()`. This allows us to move `upb_EpsCopyInputStream_IsDoneFallback()` out of the header and into the source file, where fallback functions belong. In future CLs we can apply the same pattern to `upb_Arena` so that allocation failures will `longjmp()`. PiperOrigin-RevId: 843422118
J
Joshua Haberman committed
be01da55acd7cf1c2604eea480c7239eb9fda27a
Parent: 831bb2c
Committed by Copybara-Service <copybara-worker@google.com>
on 12/12/2025, 12:38:10 AM