Rename decode_io_writer methods to transform_io
diff --git a/doc/changelog.md b/doc/changelog.md
index 5f54bdf..0f07ac9 100644
--- a/doc/changelog.md
+++ b/doc/changelog.md
@@ -3,6 +3,7 @@
## Work In Progress
+- Renamed `decode_io_writer?` methods to `transform_io?`.
- Added interfaces.
- Renamed warnings to notes.
- Made `wuffs_base__pixel_format` a struct.
diff --git a/doc/std/README.md b/doc/std/README.md
index 17c5a2f..d6e52e2 100644
--- a/doc/std/README.md
+++ b/doc/std/README.md
@@ -11,20 +11,20 @@
The general pattern is that a package `foo` (e.g. `jpeg`, `png`) contains a
struct `bar` (e.g. `hasher`, `decoder`, etc) that implements a
package-independent interface. For example, every compression decoder struct
-would have a `decode_io_writer` method. In C, this would be invoked as
+would have a `transform_io` method. In C, this would be invoked as
```
// Allocate and initialize the struct.
wuffs_foo__decoder* dec = etc;
// Do the work. Error checking is not shown, for brevity.
-const char* status = wuffs_foo__decoder__decode_io_writer(dec, etc);
+const char* status = wuffs_foo__decoder__transform_io(dec, etc);
```
When that C library is used as C++, that last line can be shortened:
```
-const char* status = dec->decode_io_writer(etc);
+const char* status = dec->transform_io(etc);
```
See also the [glossary](/doc/glossary.md), as well as the notes on:
diff --git a/doc/std/compression-decoders.md b/doc/std/compression-decoders.md
index 9fe447a..8dac8e4 100644
--- a/doc/std/compression-decoders.md
+++ b/doc/std/compression-decoders.md
@@ -2,10 +2,8 @@
Compression decoders read from one input stream (an `io_reader` called `src`)
and write to an output stream (an `io_writer` called `dst`). Wuffs'
-implementations have one key method: `decode_io_writer`, named after the
-operation (decoding) and the type of the destination (an
-[`io_writer`](/doc/note/io-input-output.md)). It incrementally decompresses the
-source data.
+implementations have one key method: `transform_io`. It incrementally
+decompresses the source data.
This method is a [coroutine](/doc/note/coroutines.md), and does not require
either all of the input or all of the output to fit in a single contiguous
diff --git a/example/library/library.c b/example/library/library.c
index 0fa24d9..4cc426c 100644
--- a/example/library/library.c
+++ b/example/library/library.c
@@ -105,7 +105,7 @@
free(dec);
return wuffs_base__status__message(&status);
}
- status = wuffs_gzip__decoder__decode_io_writer(
+ status = wuffs_gzip__decoder__transform_io(
dec, &dst, &src,
wuffs_base__make_slice_u8(work_buffer, WORK_BUFFER_SIZE));
if (!wuffs_base__status__is_ok(&status)) {
diff --git a/example/zcat/zcat.c b/example/zcat/zcat.c
index c7a1dfa..6cc9031 100644
--- a/example/zcat/zcat.c
+++ b/example/zcat/zcat.c
@@ -123,7 +123,7 @@
}
while (true) {
- status = wuffs_gzip__decoder__decode_io_writer(
+ status = wuffs_gzip__decoder__transform_io(
&dec, &dst, &src,
wuffs_base__make_slice_u8(work_buffer, WORK_BUFFER_SIZE));
diff --git a/fuzz/c/std/zlib_fuzzer.c b/fuzz/c/std/zlib_fuzzer.c
index 80a75a2..785aa14 100644
--- a/fuzz/c/std/zlib_fuzzer.c
+++ b/fuzz/c/std/zlib_fuzzer.c
@@ -84,17 +84,16 @@
while (true) {
dst.meta.wi = 0;
- status = wuffs_zlib__decoder__decode_io_writer(&dec, &dst, src,
- ((wuffs_base__slice_u8){
- .ptr = work_buffer,
- .len = WORK_BUFFER_SIZE,
- }));
+ status = wuffs_zlib__decoder__transform_io(&dec, &dst, src,
+ ((wuffs_base__slice_u8){
+ .ptr = work_buffer,
+ .len = WORK_BUFFER_SIZE,
+ }));
if (status.repr != wuffs_base__suspension__short_write) {
break;
}
if (dst.meta.wi == 0) {
- fprintf(stderr,
- "wuffs_zlib__decoder__decode_io_writer made no progress\n");
+ fprintf(stderr, "wuffs_zlib__decoder__transform_io made no progress\n");
intentional_segfault();
}
}
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 93cbc3c..4ba7ac8 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -2901,10 +2901,10 @@
wuffs_deflate__decoder__workbuf_len(const wuffs_deflate__decoder* self);
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
-wuffs_deflate__decoder__decode_io_writer(wuffs_deflate__decoder* self,
- wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf);
+wuffs_deflate__decoder__transform_io(wuffs_deflate__decoder* self,
+ wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf);
// ---------------- Struct Definitions
@@ -2934,7 +2934,7 @@
uint32_t f_n_huffs_bits[2];
bool f_end_of_block;
- uint32_t p_decode_io_writer[1];
+ uint32_t p_transform_io[1];
uint32_t p_decode_blocks[1];
uint32_t p_decode_uncompressed[1];
uint32_t p_init_dynamic_huffman[1];
@@ -3021,11 +3021,10 @@
}
inline wuffs_base__status //
- decode_io_writer(wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf) {
- return wuffs_deflate__decoder__decode_io_writer(this, a_dst, a_src,
- a_workbuf);
+ transform_io(wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf) {
+ return wuffs_deflate__decoder__transform_io(this, a_dst, a_src, a_workbuf);
}
#endif // __cplusplus
@@ -3082,10 +3081,10 @@
wuffs_lzw__decoder__workbuf_len(const wuffs_lzw__decoder* self);
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
-wuffs_lzw__decoder__decode_io_writer(wuffs_lzw__decoder* self,
- wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf);
+wuffs_lzw__decoder__transform_io(wuffs_lzw__decoder* self,
+ wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf);
WUFFS_BASE__MAYBE_STATIC wuffs_base__slice_u8 //
wuffs_lzw__decoder__flush(wuffs_lzw__decoder* self);
@@ -3126,7 +3125,7 @@
uint32_t f_read_from_return_value;
uint16_t f_prefixes[4096];
- uint32_t p_decode_io_writer[1];
+ uint32_t p_transform_io[1];
uint32_t p_write_to[1];
} private_impl;
@@ -3175,10 +3174,10 @@
}
inline wuffs_base__status //
- decode_io_writer(wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf) {
- return wuffs_lzw__decoder__decode_io_writer(this, a_dst, a_src, a_workbuf);
+ transform_io(wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf) {
+ return wuffs_lzw__decoder__transform_io(this, a_dst, a_src, a_workbuf);
}
inline wuffs_base__slice_u8 //
@@ -3609,10 +3608,10 @@
wuffs_gzip__decoder__workbuf_len(const wuffs_gzip__decoder* self);
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
-wuffs_gzip__decoder__decode_io_writer(wuffs_gzip__decoder* self,
- wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf);
+wuffs_gzip__decoder__transform_io(wuffs_gzip__decoder* self,
+ wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf);
// ---------------- Struct Definitions
@@ -3638,7 +3637,7 @@
bool f_ignore_checksum;
- uint32_t p_decode_io_writer[1];
+ uint32_t p_transform_io[1];
} private_impl;
struct {
@@ -3651,7 +3650,7 @@
uint32_t v_decoded_length_got;
uint32_t v_checksum_want;
uint64_t scratch;
- } s_decode_io_writer[1];
+ } s_transform_io[1];
} private_data;
#ifdef __cplusplus
@@ -3692,10 +3691,10 @@
}
inline wuffs_base__status //
- decode_io_writer(wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf) {
- return wuffs_gzip__decoder__decode_io_writer(this, a_dst, a_src, a_workbuf);
+ transform_io(wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf) {
+ return wuffs_gzip__decoder__transform_io(this, a_dst, a_src, a_workbuf);
}
#endif // __cplusplus
@@ -3764,10 +3763,10 @@
wuffs_zlib__decoder__workbuf_len(const wuffs_zlib__decoder* self);
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
-wuffs_zlib__decoder__decode_io_writer(wuffs_zlib__decoder* self,
- wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf);
+wuffs_zlib__decoder__transform_io(wuffs_zlib__decoder* self,
+ wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf);
// ---------------- Struct Definitions
@@ -3799,7 +3798,7 @@
uint32_t f_dict_id_got;
uint32_t f_dict_id_want;
- uint32_t p_decode_io_writer[1];
+ uint32_t p_transform_io[1];
} private_impl;
struct {
@@ -3810,7 +3809,7 @@
struct {
uint32_t v_checksum_got;
uint64_t scratch;
- } s_decode_io_writer[1];
+ } s_transform_io[1];
} private_data;
#ifdef __cplusplus
@@ -3861,10 +3860,10 @@
}
inline wuffs_base__status //
- decode_io_writer(wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf) {
- return wuffs_zlib__decoder__decode_io_writer(this, a_dst, a_src, a_workbuf);
+ transform_io(wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf) {
+ return wuffs_zlib__decoder__transform_io(this, a_dst, a_src, a_workbuf);
}
#endif // __cplusplus
@@ -6353,13 +6352,13 @@
return wuffs_base__utility__make_range_ii_u64(1, 1);
}
-// -------- func deflate.decoder.decode_io_writer
+// -------- func deflate.decoder.transform_io
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
-wuffs_deflate__decoder__decode_io_writer(wuffs_deflate__decoder* self,
- wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf) {
+wuffs_deflate__decoder__transform_io(wuffs_deflate__decoder* self,
+ wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf) {
if (!self) {
return wuffs_base__make_status(wuffs_base__error__bad_receiver);
}
@@ -6399,7 +6398,7 @@
}
}
- uint32_t coro_susp_point = self->private_impl.p_decode_io_writer[0];
+ uint32_t coro_susp_point = self->private_impl.p_transform_io[0];
if (coro_susp_point) {
}
switch (coro_susp_point) {
@@ -6438,13 +6437,13 @@
goto ok;
ok:
- self->private_impl.p_decode_io_writer[0] = 0;
+ self->private_impl.p_transform_io[0] = 0;
goto exit;
}
goto suspend;
suspend:
- self->private_impl.p_decode_io_writer[0] =
+ self->private_impl.p_transform_io[0] =
wuffs_base__status__is_suspension(&status) ? coro_susp_point : 0;
self->private_impl.active_coroutine =
wuffs_base__status__is_suspension(&status) ? 1 : 0;
@@ -8144,13 +8143,13 @@
return wuffs_base__utility__make_range_ii_u64(0, 0);
}
-// -------- func lzw.decoder.decode_io_writer
+// -------- func lzw.decoder.transform_io
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
-wuffs_lzw__decoder__decode_io_writer(wuffs_lzw__decoder* self,
- wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf) {
+wuffs_lzw__decoder__transform_io(wuffs_lzw__decoder* self,
+ wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf) {
if (!self) {
return wuffs_base__make_status(wuffs_base__error__bad_receiver);
}
@@ -8175,7 +8174,7 @@
uint32_t v_i = 0;
- uint32_t coro_susp_point = self->private_impl.p_decode_io_writer[0];
+ uint32_t coro_susp_point = self->private_impl.p_transform_io[0];
if (coro_susp_point) {
}
switch (coro_susp_point) {
@@ -8232,13 +8231,13 @@
goto ok;
ok:
- self->private_impl.p_decode_io_writer[0] = 0;
+ self->private_impl.p_transform_io[0] = 0;
goto exit;
}
goto suspend;
suspend:
- self->private_impl.p_decode_io_writer[0] =
+ self->private_impl.p_transform_io[0] =
wuffs_base__status__is_suspension(&status) ? coro_susp_point : 0;
self->private_impl.active_coroutine =
wuffs_base__status__is_suspension(&status) ? 1 : 0;
@@ -10967,7 +10966,7 @@
v_mark = ((uint64_t)(iop_v_r - io0_v_r));
{
u_r.meta.ri = ((size_t)(iop_v_r - u_r.data.ptr));
- wuffs_base__status t_1 = wuffs_lzw__decoder__decode_io_writer(
+ wuffs_base__status t_1 = wuffs_lzw__decoder__transform_io(
&self->private_data.f_lzw, &empty_io_buffer, v_r,
wuffs_base__utility__empty_slice_u8());
iop_v_r = u_r.data.ptr + u_r.meta.ri;
@@ -11361,13 +11360,13 @@
return wuffs_base__utility__make_range_ii_u64(1, 1);
}
-// -------- func gzip.decoder.decode_io_writer
+// -------- func gzip.decoder.transform_io
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
-wuffs_gzip__decoder__decode_io_writer(wuffs_gzip__decoder* self,
- wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf) {
+wuffs_gzip__decoder__transform_io(wuffs_gzip__decoder* self,
+ wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf) {
if (!self) {
return wuffs_base__make_status(wuffs_base__error__bad_receiver);
}
@@ -11424,13 +11423,13 @@
io2_a_src = io0_a_src + a_src->meta.wi;
}
- uint32_t coro_susp_point = self->private_impl.p_decode_io_writer[0];
+ uint32_t coro_susp_point = self->private_impl.p_transform_io[0];
if (coro_susp_point) {
- v_flags = self->private_data.s_decode_io_writer[0].v_flags;
- v_checksum_got = self->private_data.s_decode_io_writer[0].v_checksum_got;
+ v_flags = self->private_data.s_transform_io[0].v_flags;
+ v_checksum_got = self->private_data.s_transform_io[0].v_checksum_got;
v_decoded_length_got =
- self->private_data.s_decode_io_writer[0].v_decoded_length_got;
- v_checksum_want = self->private_data.s_decode_io_writer[0].v_checksum_want;
+ self->private_data.s_transform_io[0].v_decoded_length_got;
+ v_checksum_want = self->private_data.s_transform_io[0].v_checksum_want;
}
switch (coro_susp_point) {
WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
@@ -11484,17 +11483,17 @@
uint8_t t_3 = *iop_a_src++;
v_flags = t_3;
}
- self->private_data.s_decode_io_writer[0].scratch = 6;
+ self->private_data.s_transform_io[0].scratch = 6;
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(5);
- if (self->private_data.s_decode_io_writer[0].scratch >
+ if (self->private_data.s_transform_io[0].scratch >
((uint64_t)(io2_a_src - iop_a_src))) {
- self->private_data.s_decode_io_writer[0].scratch -=
+ self->private_data.s_transform_io[0].scratch -=
((uint64_t)(io2_a_src - iop_a_src));
iop_a_src = io2_a_src;
status = wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- iop_a_src += self->private_data.s_decode_io_writer[0].scratch;
+ iop_a_src += self->private_data.s_transform_io[0].scratch;
if ((v_flags & 4) != 0) {
{
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(6);
@@ -11503,7 +11502,7 @@
t_4 = wuffs_base__load_u16le(iop_a_src);
iop_a_src += 2;
} else {
- self->private_data.s_decode_io_writer[0].scratch = 0;
+ self->private_data.s_transform_io[0].scratch = 0;
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(7);
while (true) {
if (WUFFS_BASE__UNLIKELY(iop_a_src == io2_a_src)) {
@@ -11511,8 +11510,7 @@
wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- uint64_t* scratch =
- &self->private_data.s_decode_io_writer[0].scratch;
+ uint64_t* scratch = &self->private_data.s_transform_io[0].scratch;
uint32_t num_bits_4 = ((uint32_t)(*scratch >> 56));
*scratch <<= 8;
*scratch >>= 8;
@@ -11527,17 +11525,17 @@
}
v_xlen = t_4;
}
- self->private_data.s_decode_io_writer[0].scratch = ((uint32_t)(v_xlen));
+ self->private_data.s_transform_io[0].scratch = ((uint32_t)(v_xlen));
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(8);
- if (self->private_data.s_decode_io_writer[0].scratch >
+ if (self->private_data.s_transform_io[0].scratch >
((uint64_t)(io2_a_src - iop_a_src))) {
- self->private_data.s_decode_io_writer[0].scratch -=
+ self->private_data.s_transform_io[0].scratch -=
((uint64_t)(io2_a_src - iop_a_src));
iop_a_src = io2_a_src;
status = wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- iop_a_src += self->private_data.s_decode_io_writer[0].scratch;
+ iop_a_src += self->private_data.s_transform_io[0].scratch;
}
if ((v_flags & 8) != 0) {
while (true) {
@@ -11576,17 +11574,17 @@
label_1_break:;
}
if ((v_flags & 2) != 0) {
- self->private_data.s_decode_io_writer[0].scratch = 2;
+ self->private_data.s_transform_io[0].scratch = 2;
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(11);
- if (self->private_data.s_decode_io_writer[0].scratch >
+ if (self->private_data.s_transform_io[0].scratch >
((uint64_t)(io2_a_src - iop_a_src))) {
- self->private_data.s_decode_io_writer[0].scratch -=
+ self->private_data.s_transform_io[0].scratch -=
((uint64_t)(io2_a_src - iop_a_src));
iop_a_src = io2_a_src;
status = wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- iop_a_src += self->private_data.s_decode_io_writer[0].scratch;
+ iop_a_src += self->private_data.s_transform_io[0].scratch;
}
if ((v_flags & 224) != 0) {
status = wuffs_base__make_status(wuffs_gzip__error__bad_encoding_flags);
@@ -11601,7 +11599,7 @@
if (a_src) {
a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
}
- wuffs_base__status t_7 = wuffs_deflate__decoder__decode_io_writer(
+ wuffs_base__status t_7 = wuffs_deflate__decoder__transform_io(
&self->private_data.f_flate, a_dst, a_src, a_workbuf);
if (a_dst) {
iop_a_dst = a_dst->data.ptr + a_dst->meta.wi;
@@ -11635,7 +11633,7 @@
t_8 = wuffs_base__load_u32le(iop_a_src);
iop_a_src += 4;
} else {
- self->private_data.s_decode_io_writer[0].scratch = 0;
+ self->private_data.s_transform_io[0].scratch = 0;
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(14);
while (true) {
if (WUFFS_BASE__UNLIKELY(iop_a_src == io2_a_src)) {
@@ -11643,7 +11641,7 @@
wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- uint64_t* scratch = &self->private_data.s_decode_io_writer[0].scratch;
+ uint64_t* scratch = &self->private_data.s_transform_io[0].scratch;
uint32_t num_bits_8 = ((uint32_t)(*scratch >> 56));
*scratch <<= 8;
*scratch >>= 8;
@@ -11665,7 +11663,7 @@
t_9 = wuffs_base__load_u32le(iop_a_src);
iop_a_src += 4;
} else {
- self->private_data.s_decode_io_writer[0].scratch = 0;
+ self->private_data.s_transform_io[0].scratch = 0;
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(16);
while (true) {
if (WUFFS_BASE__UNLIKELY(iop_a_src == io2_a_src)) {
@@ -11673,7 +11671,7 @@
wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- uint64_t* scratch = &self->private_data.s_decode_io_writer[0].scratch;
+ uint64_t* scratch = &self->private_data.s_transform_io[0].scratch;
uint32_t num_bits_9 = ((uint32_t)(*scratch >> 56));
*scratch <<= 8;
*scratch >>= 8;
@@ -11697,21 +11695,21 @@
goto ok;
ok:
- self->private_impl.p_decode_io_writer[0] = 0;
+ self->private_impl.p_transform_io[0] = 0;
goto exit;
}
goto suspend;
suspend:
- self->private_impl.p_decode_io_writer[0] =
+ self->private_impl.p_transform_io[0] =
wuffs_base__status__is_suspension(&status) ? coro_susp_point : 0;
self->private_impl.active_coroutine =
wuffs_base__status__is_suspension(&status) ? 1 : 0;
- self->private_data.s_decode_io_writer[0].v_flags = v_flags;
- self->private_data.s_decode_io_writer[0].v_checksum_got = v_checksum_got;
- self->private_data.s_decode_io_writer[0].v_decoded_length_got =
+ self->private_data.s_transform_io[0].v_flags = v_flags;
+ self->private_data.s_transform_io[0].v_checksum_got = v_checksum_got;
+ self->private_data.s_transform_io[0].v_decoded_length_got =
v_decoded_length_got;
- self->private_data.s_decode_io_writer[0].v_checksum_want = v_checksum_want;
+ self->private_data.s_transform_io[0].v_checksum_want = v_checksum_want;
goto exit;
exit:
@@ -11900,13 +11898,13 @@
return wuffs_base__utility__make_range_ii_u64(1, 1);
}
-// -------- func zlib.decoder.decode_io_writer
+// -------- func zlib.decoder.transform_io
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
-wuffs_zlib__decoder__decode_io_writer(wuffs_zlib__decoder* self,
- wuffs_base__io_buffer* a_dst,
- wuffs_base__io_buffer* a_src,
- wuffs_base__slice_u8 a_workbuf) {
+wuffs_zlib__decoder__transform_io(wuffs_zlib__decoder* self,
+ wuffs_base__io_buffer* a_dst,
+ wuffs_base__io_buffer* a_src,
+ wuffs_base__slice_u8 a_workbuf) {
if (!self) {
return wuffs_base__make_status(wuffs_base__error__bad_receiver);
}
@@ -11959,9 +11957,9 @@
io2_a_src = io0_a_src + a_src->meta.wi;
}
- uint32_t coro_susp_point = self->private_impl.p_decode_io_writer[0];
+ uint32_t coro_susp_point = self->private_impl.p_transform_io[0];
if (coro_susp_point) {
- v_checksum_got = self->private_data.s_decode_io_writer[0].v_checksum_got;
+ v_checksum_got = self->private_data.s_transform_io[0].v_checksum_got;
}
switch (coro_susp_point) {
WUFFS_BASE__COROUTINE_SUSPENSION_POINT_0;
@@ -11977,7 +11975,7 @@
t_0 = wuffs_base__load_u16be(iop_a_src);
iop_a_src += 2;
} else {
- self->private_data.s_decode_io_writer[0].scratch = 0;
+ self->private_data.s_transform_io[0].scratch = 0;
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(2);
while (true) {
if (WUFFS_BASE__UNLIKELY(iop_a_src == io2_a_src)) {
@@ -11985,8 +11983,7 @@
wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- uint64_t* scratch =
- &self->private_data.s_decode_io_writer[0].scratch;
+ uint64_t* scratch = &self->private_data.s_transform_io[0].scratch;
uint32_t num_bits_0 = ((uint32_t)(*scratch & 0xFF));
*scratch >>= 8;
*scratch <<= 8;
@@ -12025,7 +12022,7 @@
t_1 = wuffs_base__load_u32be(iop_a_src);
iop_a_src += 4;
} else {
- self->private_data.s_decode_io_writer[0].scratch = 0;
+ self->private_data.s_transform_io[0].scratch = 0;
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(4);
while (true) {
if (WUFFS_BASE__UNLIKELY(iop_a_src == io2_a_src)) {
@@ -12033,8 +12030,7 @@
wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- uint64_t* scratch =
- &self->private_data.s_decode_io_writer[0].scratch;
+ uint64_t* scratch = &self->private_data.s_transform_io[0].scratch;
uint32_t num_bits_1 = ((uint32_t)(*scratch & 0xFF));
*scratch >>= 8;
*scratch <<= 8;
@@ -12076,7 +12072,7 @@
if (a_src) {
a_src->meta.ri = ((size_t)(iop_a_src - a_src->data.ptr));
}
- wuffs_base__status t_2 = wuffs_deflate__decoder__decode_io_writer(
+ wuffs_base__status t_2 = wuffs_deflate__decoder__transform_io(
&self->private_data.f_flate, a_dst, a_src, a_workbuf);
if (a_dst) {
iop_a_dst = a_dst->data.ptr + a_dst->meta.wi;
@@ -12106,7 +12102,7 @@
t_3 = wuffs_base__load_u32be(iop_a_src);
iop_a_src += 4;
} else {
- self->private_data.s_decode_io_writer[0].scratch = 0;
+ self->private_data.s_transform_io[0].scratch = 0;
WUFFS_BASE__COROUTINE_SUSPENSION_POINT(7);
while (true) {
if (WUFFS_BASE__UNLIKELY(iop_a_src == io2_a_src)) {
@@ -12114,7 +12110,7 @@
wuffs_base__make_status(wuffs_base__suspension__short_read);
goto suspend;
}
- uint64_t* scratch = &self->private_data.s_decode_io_writer[0].scratch;
+ uint64_t* scratch = &self->private_data.s_transform_io[0].scratch;
uint32_t num_bits_3 = ((uint32_t)(*scratch & 0xFF));
*scratch >>= 8;
*scratch <<= 8;
@@ -12137,17 +12133,17 @@
goto ok;
ok:
- self->private_impl.p_decode_io_writer[0] = 0;
+ self->private_impl.p_transform_io[0] = 0;
goto exit;
}
goto suspend;
suspend:
- self->private_impl.p_decode_io_writer[0] =
+ self->private_impl.p_transform_io[0] =
wuffs_base__status__is_suspension(&status) ? coro_susp_point : 0;
self->private_impl.active_coroutine =
wuffs_base__status__is_suspension(&status) ? 1 : 0;
- self->private_data.s_decode_io_writer[0].v_checksum_got = v_checksum_got;
+ self->private_data.s_transform_io[0].v_checksum_got = v_checksum_got;
goto exit;
exit:
diff --git a/script/bench-c-deflate-fragmentation.c b/script/bench-c-deflate-fragmentation.c
index c49aa9a..429fa7c 100644
--- a/script/bench-c-deflate-fragmentation.c
+++ b/script/bench-c-deflate-fragmentation.c
@@ -227,10 +227,10 @@
const char* decode_once(bool frag_dst, bool frag_idat) {
wuffs_zlib__decoder dec;
- const char* status =
+ wuffs_base__status status =
wuffs_zlib__decoder__initialize(&dec, sizeof dec, WUFFS_VERSION, 0);
- if (status) {
- return status;
+ if (!wuffs_base__status__is_ok(&status)) {
+ return wuffs_base__status__message(&status);
}
wuffs_base__io_buffer dst = ((wuffs_base__io_buffer){
@@ -251,8 +251,6 @@
.closed = true,
}),
});
- wuffs_base__io_writer dst_writer = wuffs_base__io_buffer__writer(&dst);
- wuffs_base__io_reader idat_reader = wuffs_base__io_buffer__reader(&idat);
uint32_t i = 0; // Number of dst fragments processed, if frag_dst.
if (frag_dst) {
@@ -266,30 +264,29 @@
}
while (true) {
- status =
- wuffs_zlib__decoder__decode_io_writer(&dec, dst_writer, idat_reader,
- ((wuffs_base__slice_u8){
- .ptr = work_buffer,
- .len = WORK_BUFFER_SIZE,
- }));
+ status = wuffs_zlib__decoder__transform_io(&dec, &dst, &idat,
+ ((wuffs_base__slice_u8){
+ .ptr = work_buffer,
+ .len = WORK_BUFFER_SIZE,
+ }));
- if (!status) {
+ if (wuffs_base__status__is_ok(&status)) {
break;
}
- if ((status == wuffs_base__suspension__short_write) && frag_dst &&
+ if ((status.repr == wuffs_base__suspension__short_write) && frag_dst &&
(i < height - 1)) {
i++;
dst.data.len = bytes_per_row * (i + 1);
continue;
}
- if ((status == wuffs_base__suspension__short_read) && frag_idat &&
+ if ((status.repr == wuffs_base__suspension__short_read) && frag_idat &&
(j < num_idat_chunks - 1)) {
j++;
idat.meta.wi = idat_splits[j + 1];
idat.meta.closed = (num_idat_chunks == j + 1);
continue;
}
- return status;
+ return wuffs_base__status__message(&status);
}
if (dst.meta.wi != bytes_per_frame) {
diff --git a/std/deflate/decode_deflate.wuffs b/std/deflate/decode_deflate.wuffs
index e77c615..4660ba5 100644
--- a/std/deflate/decode_deflate.wuffs
+++ b/std/deflate/decode_deflate.wuffs
@@ -186,7 +186,7 @@
max_incl: decoder_workbuf_len_max_incl_worst_case)
}
-pub func decoder.decode_io_writer?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
+pub func decoder.transform_io?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
var mark : base.u64
var status : base.status
diff --git a/std/gif/decode_gif.wuffs b/std/gif/decode_gif.wuffs
index 9ca9d35..2019331 100644
--- a/std/gif/decode_gif.wuffs
+++ b/std/gif/decode_gif.wuffs
@@ -976,7 +976,7 @@
}
io_bind (io: r, data: this.compressed[this.compressed_ri .. this.compressed_wi]) {
mark = r.mark()
- lzw_status =? this.lzw.decode_io_writer?(
+ lzw_status =? this.lzw.transform_io?(
dst: this.util.empty_io_writer(), src: r, workbuf: this.util.empty_slice_u8())
this.compressed_ri ~sat+= r.count_since(mark: mark)
}
diff --git a/std/gzip/decode_gzip.wuffs b/std/gzip/decode_gzip.wuffs
index bd7f5ce..78467d5 100644
--- a/std/gzip/decode_gzip.wuffs
+++ b/std/gzip/decode_gzip.wuffs
@@ -42,7 +42,7 @@
max_incl: decoder_workbuf_len_max_incl_worst_case)
}
-pub func decoder.decode_io_writer?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
+pub func decoder.transform_io?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
var c : base.u8
var flags : base.u8
var xlen : base.u16
@@ -113,7 +113,7 @@
// Decode and checksum the DEFLATE-encoded payload.
while true {
mark = args.dst.mark()
- status =? this.flate.decode_io_writer?(dst: args.dst, src: args.src, workbuf: args.workbuf)
+ status =? this.flate.transform_io?(dst: args.dst, src: args.src, workbuf: args.workbuf)
if not this.ignore_checksum {
checksum_got = this.checksum.update_u32!(x: args.dst.since(mark: mark))
decoded_length_got ~mod+= ((args.dst.count_since(mark: mark) & 0xFFFFFFFF) as base.u32)
diff --git a/std/lzw/decode_lzw.wuffs b/std/lzw/decode_lzw.wuffs
index af4ae4d..40fce29 100644
--- a/std/lzw/decode_lzw.wuffs
+++ b/std/lzw/decode_lzw.wuffs
@@ -29,7 +29,7 @@
pub struct decoder?(
// set_literal_width_arg is 1 plus the saved argument passed to
// set_literal_width. This is assigned to the literal_width field at the
- // start of decode_io_writer. During that method, calling set_literal_width
+ // start of transform_io. During that method, calling set_literal_width
// will change set_literal_width_arg but not literal_width.
set_literal_width_arg : base.u32[..= 9],
@@ -77,7 +77,7 @@
return this.util.make_range_ii_u64(min_incl: 0, max_incl: 0)
}
-pub func decoder.decode_io_writer?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
+pub func decoder.transform_io?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
var i : base.u32[..= 8191]
// Initialize read_from state.
diff --git a/std/zlib/decode_zlib.wuffs b/std/zlib/decode_zlib.wuffs
index 6d9a47c..235ea5a 100644
--- a/std/zlib/decode_zlib.wuffs
+++ b/std/zlib/decode_zlib.wuffs
@@ -69,7 +69,7 @@
max_incl: decoder_workbuf_len_max_incl_worst_case)
}
-pub func decoder.decode_io_writer?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
+pub func decoder.transform_io?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
var x : base.u16
var checksum_got : base.u32
var status : base.status
@@ -109,7 +109,7 @@
// Decode and checksum the DEFLATE-encoded payload.
while true {
mark = args.dst.mark()
- status =? this.flate.decode_io_writer?(dst: args.dst, src: args.src, workbuf: args.workbuf)
+ status =? this.flate.transform_io?(dst: args.dst, src: args.src, workbuf: args.workbuf)
if not this.ignore_checksum {
checksum_got = this.checksum.update_u32!(x: args.dst.since(mark: mark))
}
diff --git a/test/c/std/deflate.c b/test/c/std/deflate.c
index 59a690a..e86eb41 100644
--- a/test/c/std/deflate.c
+++ b/test/c/std/deflate.c
@@ -169,7 +169,7 @@
wuffs_base__io_buffer limited_dst = make_limited_writer(*dst, wlimit);
wuffs_base__io_buffer limited_src = make_limited_reader(*src, rlimit);
- wuffs_base__status status = wuffs_deflate__decoder__decode_io_writer(
+ wuffs_base__status status = wuffs_deflate__decoder__transform_io(
&dec, &limited_dst, &limited_src, global_work_slice);
dst->meta.wi += limited_dst.meta.wi;
@@ -248,8 +248,8 @@
CHECK_STATUS("initialize", wuffs_deflate__decoder__initialize(
&dec, sizeof dec, WUFFS_VERSION,
WUFFS_INITIALIZE__DEFAULT_OPTIONS));
- CHECK_STATUS("decode_io_writer", wuffs_deflate__decoder__decode_io_writer(
- &dec, &got, &src, global_work_slice));
+ CHECK_STATUS("transform_io", wuffs_deflate__decoder__transform_io(
+ &dec, &got, &src, global_work_slice));
int i;
for (i = 0; i < 2; i++) {
@@ -345,13 +345,13 @@
src.meta.closed = false;
src.meta.ri = gt->src_offset0;
src.meta.wi = split;
- wuffs_base__status z0 = wuffs_deflate__decoder__decode_io_writer(
+ wuffs_base__status z0 = wuffs_deflate__decoder__transform_io(
&dec, &got, &src, global_work_slice);
src.meta.closed = true;
src.meta.ri = split;
src.meta.wi = gt->src_offset1;
- wuffs_base__status z1 = wuffs_deflate__decoder__decode_io_writer(
+ wuffs_base__status z1 = wuffs_deflate__decoder__transform_io(
&dec, &got, &src, global_work_slice);
if (z0.repr != wuffs_base__suspension__short_read) {
@@ -387,7 +387,7 @@
dec->private_impl.f_history_index = starting_history_index;
- wuffs_base__status got_z = wuffs_deflate__decoder__decode_io_writer(
+ wuffs_base__status got_z = wuffs_deflate__decoder__transform_io(
dec, &limited_got, src, global_work_slice);
got->meta.wi += limited_got.meta.wi;
if (got_z.repr != want_z) {
diff --git a/test/c/std/gzip.c b/test/c/std/gzip.c
index a76f668..88786b9 100644
--- a/test/c/std/gzip.c
+++ b/test/c/std/gzip.c
@@ -97,7 +97,7 @@
wuffs_base__io_buffer limited_dst = make_limited_writer(*dst, wlimit);
wuffs_base__io_buffer limited_src = make_limited_reader(*src, rlimit);
- wuffs_base__status status = wuffs_gzip__decoder__decode_io_writer(
+ wuffs_base__status status = wuffs_gzip__decoder__transform_io(
&dec, &limited_dst, &limited_src, global_work_slice);
dst->meta.wi += limited_dst.meta.wi;
@@ -165,7 +165,7 @@
}
wuffs_base__io_buffer limited_src = make_limited_reader(src, rlimit);
- wuffs_base__status got_z = wuffs_gzip__decoder__decode_io_writer(
+ wuffs_base__status got_z = wuffs_gzip__decoder__transform_io(
&dec, &got, &limited_src, global_work_slice);
src.meta.ri += limited_src.meta.ri;
if (got_z.repr != want_z) {
diff --git a/test/c/std/lzw.c b/test/c/std/lzw.c
index 6685ad7..6bb8f8a 100644
--- a/test/c/std/lzw.c
+++ b/test/c/std/lzw.c
@@ -115,20 +115,19 @@
size_t old_wi = got.meta.wi;
size_t old_ri = src.meta.ri;
- wuffs_base__status status = wuffs_lzw__decoder__decode_io_writer(
+ wuffs_base__status status = wuffs_lzw__decoder__transform_io(
&dec, &limited_got, &limited_src, global_work_slice);
got.meta.wi += limited_got.meta.wi;
src.meta.ri += limited_src.meta.ri;
if (wuffs_base__status__is_ok(&status)) {
if (src.meta.ri != src.meta.wi) {
- RETURN_FAIL(
- "decode_io_writer returned \"ok\" but src was not exhausted");
+ RETURN_FAIL("transform_io returned \"ok\" but src was not exhausted");
}
break;
}
if ((status.repr != wuffs_base__suspension__short_read) &&
(status.repr != wuffs_base__suspension__short_write)) {
- RETURN_FAIL("decode_io_writer: got \"%s\", want \"%s\" or \"%s\"",
+ RETURN_FAIL("transform_io: got \"%s\", want \"%s\" or \"%s\"",
status.repr, wuffs_base__suspension__short_read,
wuffs_base__suspension__short_write);
}
@@ -223,9 +222,9 @@
wuffs_lzw__decoder__set_literal_width(&dec, 7);
wuffs_base__status status =
- wuffs_lzw__decoder__decode_io_writer(&dec, &got, &src, global_work_slice);
+ wuffs_lzw__decoder__transform_io(&dec, &got, &src, global_work_slice);
if (status.repr != wuffs_lzw__error__bad_code) {
- RETURN_FAIL("decode_io_writer: got \"%s\", want \"%s\"", status.repr,
+ RETURN_FAIL("transform_io: got \"%s\", want \"%s\"", status.repr,
wuffs_lzw__error__bad_code);
}
@@ -265,8 +264,8 @@
WUFFS_INITIALIZE__LEAVE_INTERNAL_BUFFERS_UNINITIALIZED));
wuffs_lzw__decoder__set_literal_width(&dec, 8);
- CHECK_STATUS("decode_io_writer", wuffs_lzw__decoder__decode_io_writer(
- &dec, &got, &src, global_work_slice));
+ CHECK_STATUS("transform_io", wuffs_lzw__decoder__transform_io(
+ &dec, &got, &src, global_work_slice));
if (got.meta.wi != 0) {
RETURN_FAIL("got.meta.wi: got %d, want 0", (int)(got.meta.wi));
@@ -290,8 +289,8 @@
wuffs_base__io_buffer got = ((wuffs_base__io_buffer){
.data = global_got_slice,
});
- CHECK_STATUS("decode_io_writer", wuffs_lzw__decoder__decode_io_writer(
- &dec, &got, &src, global_work_slice));
+ CHECK_STATUS("transform_io", wuffs_lzw__decoder__transform_io(
+ &dec, &got, &src, global_work_slice));
return check_io_buffers_equal("", &got, &want);
}
@@ -392,8 +391,8 @@
wuffs_lzw__decoder__initialize(
&dec, sizeof dec, WUFFS_VERSION,
WUFFS_INITIALIZE__LEAVE_INTERNAL_BUFFERS_UNINITIALIZED));
- CHECK_STATUS("decode_io_writer", wuffs_lzw__decoder__decode_io_writer(
- &dec, &got, &src, global_work_slice));
+ CHECK_STATUS("transform_io", wuffs_lzw__decoder__transform_io(
+ &dec, &got, &src, global_work_slice));
n_bytes += got.meta.wi;
}
bench_finish(iters, n_bytes);
diff --git a/test/c/std/zlib.c b/test/c/std/zlib.c
index 236bc9c..987b25e 100644
--- a/test/c/std/zlib.c
+++ b/test/c/std/zlib.c
@@ -108,7 +108,7 @@
wuffs_base__io_buffer limited_dst = make_limited_writer(*dst, wlimit);
wuffs_base__io_buffer limited_src = make_limited_reader(*src, rlimit);
- wuffs_base__status status = wuffs_zlib__decoder__decode_io_writer(
+ wuffs_base__status status = wuffs_zlib__decoder__transform_io(
&dec, &limited_dst, &limited_src, global_work_slice);
dst->meta.wi += limited_dst.meta.wi;
@@ -176,7 +176,7 @@
wuffs_base__io_buffer limited_src = make_limited_reader(src, rlimit);
- wuffs_base__status got_z = wuffs_zlib__decoder__decode_io_writer(
+ wuffs_base__status got_z = wuffs_zlib__decoder__transform_io(
&dec, &got, &limited_src, global_work_slice);
src.meta.ri += limited_src.meta.ri;
if (got_z.repr != want_z) {
@@ -235,11 +235,11 @@
int i;
for (i = 0; i < 3; i++) {
- wuffs_base__status status = wuffs_zlib__decoder__decode_io_writer(
- &dec, &got, &src, global_work_slice);
+ wuffs_base__status status =
+ wuffs_zlib__decoder__transform_io(&dec, &got, &src, global_work_slice);
if (status.repr != wuffs_zlib__note__dictionary_required) {
- RETURN_FAIL("decode_io_writer (before dict): got \"%s\", want \"%s\"",
+ RETURN_FAIL("transform_io (before dict): got \"%s\", want \"%s\"",
status.repr, wuffs_zlib__note__dictionary_required);
}
@@ -257,9 +257,9 @@
.len = zlib_sheep_dict_len,
}));
- CHECK_STATUS("decode_io_writer (after dict)",
- wuffs_zlib__decoder__decode_io_writer(&dec, &got, &src,
- global_work_slice));
+ CHECK_STATUS(
+ "transform_io (after dict)",
+ wuffs_zlib__decoder__transform_io(&dec, &got, &src, global_work_slice));
wuffs_base__io_buffer want =
make_io_buffer_from_string(zlib_sheep_want_ptr, zlib_sheep_want_len);