Inline wuffs_aux::DecodeJson work_buf variable
diff --git a/internal/cgen/auxiliary/json.cc b/internal/cgen/auxiliary/json.cc
index 643b677..64326d6 100644
--- a/internal/cgen/auxiliary/json.cc
+++ b/internal/cgen/auxiliary/json.cc
@@ -40,50 +40,50 @@
// --------
-#define WUFFS_AUX__DECODE_JSON__GET_THE_NEXT_TOKEN \
- while (tok_buf.meta.ri >= tok_buf.meta.wi) { \
- if (tok_status.repr == nullptr) { \
- goto done; \
- } else if (tok_status.repr == wuffs_base__suspension__short_write) { \
- tok_buf.compact(); \
- } else if (tok_status.repr == wuffs_base__suspension__short_read) { \
- if (!io_error_message.empty()) { \
- ret_error_message = std::move(io_error_message); \
- goto done; \
- } else if (cursor_index != io_buf->meta.ri) { \
- ret_error_message = \
- "wuffs_aux::DecodeJson: internal error: bad cursor_index"; \
- goto done; \
- } else if (io_buf->meta.closed) { \
- ret_error_message = \
- "wuffs_aux::DecodeJson: internal error: io_buf is closed"; \
- goto done; \
- } \
- io_buf->compact(); \
- if (io_buf->meta.wi >= io_buf->data.len) { \
- ret_error_message = \
- "wuffs_aux::DecodeJson: internal error: io_buf is full"; \
- goto done; \
- } \
- cursor_index = io_buf->meta.ri; \
- io_error_message = input.CopyIn(io_buf); \
- } else { \
- ret_error_message = tok_status.message(); \
- goto done; \
- } \
- wuffs_base__slice_u8 work_buf = wuffs_base__empty_slice_u8(); \
- tok_status = dec->decode_tokens(&tok_buf, io_buf, work_buf); \
- } \
- wuffs_base__token token = tok_buf.data.ptr[tok_buf.meta.ri++]; \
- uint64_t token_len = token.length(); \
- if ((io_buf->meta.ri < cursor_index) || \
- ((io_buf->meta.ri - cursor_index) < token_len)) { \
- ret_error_message = \
- "wuffs_aux::DecodeJson: internal error: bad token indexes"; \
- goto done; \
- } \
- uint8_t* token_ptr = io_buf->data.ptr + cursor_index; \
- (void)(token_ptr); \
+#define WUFFS_AUX__DECODE_JSON__GET_THE_NEXT_TOKEN \
+ while (tok_buf.meta.ri >= tok_buf.meta.wi) { \
+ if (tok_status.repr == nullptr) { \
+ goto done; \
+ } else if (tok_status.repr == wuffs_base__suspension__short_write) { \
+ tok_buf.compact(); \
+ } else if (tok_status.repr == wuffs_base__suspension__short_read) { \
+ if (!io_error_message.empty()) { \
+ ret_error_message = std::move(io_error_message); \
+ goto done; \
+ } else if (cursor_index != io_buf->meta.ri) { \
+ ret_error_message = \
+ "wuffs_aux::DecodeJson: internal error: bad cursor_index"; \
+ goto done; \
+ } else if (io_buf->meta.closed) { \
+ ret_error_message = \
+ "wuffs_aux::DecodeJson: internal error: io_buf is closed"; \
+ goto done; \
+ } \
+ io_buf->compact(); \
+ if (io_buf->meta.wi >= io_buf->data.len) { \
+ ret_error_message = \
+ "wuffs_aux::DecodeJson: internal error: io_buf is full"; \
+ goto done; \
+ } \
+ cursor_index = io_buf->meta.ri; \
+ io_error_message = input.CopyIn(io_buf); \
+ } else { \
+ ret_error_message = tok_status.message(); \
+ goto done; \
+ } \
+ tok_status = \
+ dec->decode_tokens(&tok_buf, io_buf, wuffs_base__empty_slice_u8()); \
+ } \
+ wuffs_base__token token = tok_buf.data.ptr[tok_buf.meta.ri++]; \
+ uint64_t token_len = token.length(); \
+ if ((io_buf->meta.ri < cursor_index) || \
+ ((io_buf->meta.ri - cursor_index) < token_len)) { \
+ ret_error_message = \
+ "wuffs_aux::DecodeJson: internal error: bad token indexes"; \
+ goto done; \
+ } \
+ uint8_t* token_ptr = io_buf->data.ptr + cursor_index; \
+ (void)(token_ptr); \
cursor_index += static_cast<size_t>(token_len)
// --------
diff --git a/internal/cgen/data/data.go b/internal/cgen/data/data.go
index 9ca61f2..e9b14a2 100644
--- a/internal/cgen/data/data.go
+++ b/internal/cgen/data/data.go
@@ -857,10 +857,10 @@
const AuxJsonCc = "" +
"// ---------------- Auxiliary - JSON\n\n#if !defined(WUFFS_CONFIG__MODULES) || defined(WUFFS_CONFIG__MODULE__AUX__JSON)\n\n#include <utility>\n\nnamespace wuffs_aux {\n\nDecodeJsonResult::DecodeJsonResult(std::string&& error_message0,\n uint64_t cursor_position0)\n : error_message(std::move(error_message0)),\n cursor_position(cursor_position0) {}\n\nDecodeJsonCallbacks::~DecodeJsonCallbacks() {}\n\nvoid //\nDecodeJsonCallbacks::Done(DecodeJsonResult& result,\n sync_io::Input& input,\n IOBuffer& buffer) {}\n\nconst char DecodeJson_BadJsonPointer[] =\n \"wuffs_aux::DecodeJson: bad JSON Pointer\";\nconst char DecodeJson_NoMatch[] = \"wuffs_aux::DecodeJson: no match\";\n\n" +
"" +
- "// --------\n\n#define WUFFS_AUX__DECODE_JSON__GET_THE_NEXT_TOKEN \\\n while (tok_buf.meta.ri >= tok_buf.meta.wi) { \\\n if (tok_status.repr == nullptr) { \\\n goto done; \\\n } else if (tok_status.repr == wuffs_base__suspension__short_write) { \\\n tok_buf.compact(); \\\n } else if (tok_status.repr == wuffs_base__suspension__short_read) { \\\n if (!io_error_message.empty()) { \\\n ret_error_message = std::move(io_error_message); \\\n goto done; \\\n } else if (cursor_index != io_buf->meta.ri) { \\\n ret_error_message = \\\n \"wuffs_aux::DecodeJson: internal error: bad cursor_index\"; \\\n goto done; " +
- " \\\n } else if (io_buf->meta.closed) { \\\n ret_error_message = \\\n \"wuffs_aux::DecodeJson: internal error: io_buf is closed\"; \\\n goto done; \\\n } \\\n io_buf->compact(); \\\n if (io_buf->meta.wi >= io_buf->data.len) { \\\n ret_error_message = \\\n \"wuffs_aux::DecodeJson: internal error: io_buf is full\"; \\\n goto done; \\\n } \\\n cursor_index = io_buf->meta.ri; \\\n io_error_message = input.CopyIn(io_buf); \\\n } else" +
- " { \\\n ret_error_message = tok_status.message(); \\\n goto done; \\\n } \\\n wuffs_base__slice_u8 work_buf = wuffs_base__empty_slice_u8(); \\\n tok_status = dec->decode_tokens(&tok_buf, io_buf, work_buf); \\\n } \\\n wuffs_base__token token = tok_buf.data.ptr[tok_buf.meta.ri++]; \\\n uint64_t token_len = token.length(); \\\n if ((io_buf->meta.ri < cursor_index) || \\\n ((io_buf->meta.ri - cursor_index) < token_len)) { \\\n ret_error_message = \\\n \"wuffs_aux::DecodeJson: internal error: bad token indexes\"; \\\n goto done; " +
- " \\\n } \\\n uint8_t* token_ptr = io_buf->data.ptr + cursor_index; \\\n (void)(token_ptr); \\\n cursor_index += static_cast<size_t>(token_len)\n\n" +
+ "// --------\n\n#define WUFFS_AUX__DECODE_JSON__GET_THE_NEXT_TOKEN \\\n while (tok_buf.meta.ri >= tok_buf.meta.wi) { \\\n if (tok_status.repr == nullptr) { \\\n goto done; \\\n } else if (tok_status.repr == wuffs_base__suspension__short_write) { \\\n tok_buf.compact(); \\\n } else if (tok_status.repr == wuffs_base__suspension__short_read) { \\\n if (!io_error_message.empty()) { \\\n ret_error_message = std::move(io_error_message); \\\n goto done; \\\n } else if (cursor_index != io_buf->meta.ri) { \\\n ret_error_message = \\\n \"wuffs_aux::DecodeJson: internal error: bad cursor_index\"; " +
+ " \\\n goto done; \\\n } else if (io_buf->meta.closed) { \\\n ret_error_message = \\\n \"wuffs_aux::DecodeJson: internal error: io_buf is closed\"; \\\n goto done; \\\n } \\\n io_buf->compact(); \\\n if (io_buf->meta.wi >= io_buf->data.len) { \\\n ret_error_message = \\\n \"wuffs_aux::DecodeJson: internal error: io_buf is full\"; \\\n goto done; \\\n } \\\n cursor_index = io_buf->meta.ri; \\\n i" +
+ "o_error_message = input.CopyIn(io_buf); \\\n } else { \\\n ret_error_message = tok_status.message(); \\\n goto done; \\\n } \\\n tok_status = \\\n dec->decode_tokens(&tok_buf, io_buf, wuffs_base__empty_slice_u8()); \\\n } \\\n wuffs_base__token token = tok_buf.data.ptr[tok_buf.meta.ri++]; \\\n uint64_t token_len = token.length(); \\\n if ((io_buf->meta.ri < cursor_index) || \\\n ((io_buf->meta.ri - cursor_index) < token_len)) { \\\n ret_error_message = \\\n \"wuffs_au" +
+ "x::DecodeJson: internal error: bad token indexes\"; \\\n goto done; \\\n } \\\n uint8_t* token_ptr = io_buf->data.ptr + cursor_index; \\\n (void)(token_ptr); \\\n cursor_index += static_cast<size_t>(token_len)\n\n" +
"" +
"// --------\n\nnamespace {\n\n// DecodeJson_SplitJsonPointer returns (\"bar\", 8) for (\"/foo/bar/b~1z/qux\", 5,\n// etc). It returns a 0 size_t when s has invalid JSON Pointer syntax.\n//\n// The string returned is unescaped. If calling it again, this time with i=8,\n// the \"b~1z\" substring would be returned as \"b/z\".\nstd::pair<std::string, size_t> //\nDecodeJson_SplitJsonPointer(std::string& s,\n size_t i,\n bool allow_tilde_n_tilde_r_tilde_t) {\n std::string fragment;\n while (i < s.size()) {\n char c = s[i];\n if (c == '/') {\n break;\n } else if (c != '~') {\n fragment.push_back(c);\n i++;\n continue;\n }\n i++;\n if (i >= s.size()) {\n return std::make_pair(std::string(), 0);\n }\n c = s[i];\n if (c == '0') {\n fragment.push_back('~');\n i++;\n continue;\n } else if (c == '1') {\n fragment.push_back('/');\n i++;\n continue;\n } else if (allow_tilde_n_tilde_r_tilde_t) {\n if (c == 'n') {\n " +
"fragment.push_back('\\n');\n i++;\n continue;\n } else if (c == 'r') {\n fragment.push_back('\\r');\n i++;\n continue;\n } else if (c == 't') {\n fragment.push_back('\\t');\n i++;\n continue;\n }\n }\n return std::make_pair(std::string(), 0);\n }\n return std::make_pair(std::move(fragment), i);\n}\n\n" +
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index c4f09c5..bd10aba 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -40053,50 +40053,50 @@
// --------
-#define WUFFS_AUX__DECODE_JSON__GET_THE_NEXT_TOKEN \
- while (tok_buf.meta.ri >= tok_buf.meta.wi) { \
- if (tok_status.repr == nullptr) { \
- goto done; \
- } else if (tok_status.repr == wuffs_base__suspension__short_write) { \
- tok_buf.compact(); \
- } else if (tok_status.repr == wuffs_base__suspension__short_read) { \
- if (!io_error_message.empty()) { \
- ret_error_message = std::move(io_error_message); \
- goto done; \
- } else if (cursor_index != io_buf->meta.ri) { \
- ret_error_message = \
- "wuffs_aux::DecodeJson: internal error: bad cursor_index"; \
- goto done; \
- } else if (io_buf->meta.closed) { \
- ret_error_message = \
- "wuffs_aux::DecodeJson: internal error: io_buf is closed"; \
- goto done; \
- } \
- io_buf->compact(); \
- if (io_buf->meta.wi >= io_buf->data.len) { \
- ret_error_message = \
- "wuffs_aux::DecodeJson: internal error: io_buf is full"; \
- goto done; \
- } \
- cursor_index = io_buf->meta.ri; \
- io_error_message = input.CopyIn(io_buf); \
- } else { \
- ret_error_message = tok_status.message(); \
- goto done; \
- } \
- wuffs_base__slice_u8 work_buf = wuffs_base__empty_slice_u8(); \
- tok_status = dec->decode_tokens(&tok_buf, io_buf, work_buf); \
- } \
- wuffs_base__token token = tok_buf.data.ptr[tok_buf.meta.ri++]; \
- uint64_t token_len = token.length(); \
- if ((io_buf->meta.ri < cursor_index) || \
- ((io_buf->meta.ri - cursor_index) < token_len)) { \
- ret_error_message = \
- "wuffs_aux::DecodeJson: internal error: bad token indexes"; \
- goto done; \
- } \
- uint8_t* token_ptr = io_buf->data.ptr + cursor_index; \
- (void)(token_ptr); \
+#define WUFFS_AUX__DECODE_JSON__GET_THE_NEXT_TOKEN \
+ while (tok_buf.meta.ri >= tok_buf.meta.wi) { \
+ if (tok_status.repr == nullptr) { \
+ goto done; \
+ } else if (tok_status.repr == wuffs_base__suspension__short_write) { \
+ tok_buf.compact(); \
+ } else if (tok_status.repr == wuffs_base__suspension__short_read) { \
+ if (!io_error_message.empty()) { \
+ ret_error_message = std::move(io_error_message); \
+ goto done; \
+ } else if (cursor_index != io_buf->meta.ri) { \
+ ret_error_message = \
+ "wuffs_aux::DecodeJson: internal error: bad cursor_index"; \
+ goto done; \
+ } else if (io_buf->meta.closed) { \
+ ret_error_message = \
+ "wuffs_aux::DecodeJson: internal error: io_buf is closed"; \
+ goto done; \
+ } \
+ io_buf->compact(); \
+ if (io_buf->meta.wi >= io_buf->data.len) { \
+ ret_error_message = \
+ "wuffs_aux::DecodeJson: internal error: io_buf is full"; \
+ goto done; \
+ } \
+ cursor_index = io_buf->meta.ri; \
+ io_error_message = input.CopyIn(io_buf); \
+ } else { \
+ ret_error_message = tok_status.message(); \
+ goto done; \
+ } \
+ tok_status = \
+ dec->decode_tokens(&tok_buf, io_buf, wuffs_base__empty_slice_u8()); \
+ } \
+ wuffs_base__token token = tok_buf.data.ptr[tok_buf.meta.ri++]; \
+ uint64_t token_len = token.length(); \
+ if ((io_buf->meta.ri < cursor_index) || \
+ ((io_buf->meta.ri - cursor_index) < token_len)) { \
+ ret_error_message = \
+ "wuffs_aux::DecodeJson: internal error: bad token indexes"; \
+ goto done; \
+ } \
+ uint8_t* token_ptr = io_buf->data.ptr + cursor_index; \
+ (void)(token_ptr); \
cursor_index += static_cast<size_t>(token_len)
// --------