Add set_quirk_enabled interface methods
diff --git a/lang/builtin/builtin.go b/lang/builtin/builtin.go
index 34ba6ec..6bce082 100644
--- a/lang/builtin/builtin.go
+++ b/lang/builtin/builtin.go
@@ -391,6 +391,7 @@
var InterfaceFuncs = []string{
// ---- hasher_u32
+ "hasher_u32.set_quirk_enabled!(quirk: u32, enabled: bool)",
"hasher_u32.update_u32!(x: slice u8) u32",
// ---- image_decoder
@@ -408,17 +409,20 @@
"image_decoder.num_decoded_frame_configs() u64",
"image_decoder.num_decoded_frames() u64",
"image_decoder.restart_frame!(index: u64, io_position: u64) status",
+ "image_decoder.set_quirk_enabled!(quirk: u32, enabled: bool)",
"image_decoder.set_report_metadata!(fourcc: u32, report: bool)",
"image_decoder.workbuf_len() range_ii_u64",
// ---- io_transformer
+ "io_transformer.set_quirk_enabled!(quirk: u32, enabled: bool)",
"io_transformer.transform_io?(dst: io_writer, src: io_reader, workbuf: slice u8)",
"io_transformer.workbuf_len() range_ii_u64",
// ---- token_decoder
"token_decoder.decode_tokens?(dst: token_writer, src: io_reader, workbuf: slice u8)",
+ "token_decoder.set_quirk_enabled!(quirk: u32, enabled: bool)",
"token_decoder.workbuf_len() range_ii_u64",
}
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 50346ab..14f3222 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -3827,11 +3827,19 @@
extern const char* wuffs_base__hasher_u32__vtable_name;
typedef struct {
+ wuffs_base__empty_struct (*set_quirk_enabled)(void* self,
+ uint32_t a_quirk,
+ bool a_enabled);
uint32_t (*update_u32)(void* self, wuffs_base__slice_u8 a_x);
} wuffs_base__hasher_u32__func_ptrs;
typedef struct wuffs_base__hasher_u32__struct wuffs_base__hasher_u32;
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_base__hasher_u32__set_quirk_enabled(wuffs_base__hasher_u32* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC uint32_t //
wuffs_base__hasher_u32__update_u32(wuffs_base__hasher_u32* self,
wuffs_base__slice_u8 a_x);
@@ -3850,6 +3858,11 @@
using unique_ptr = std::unique_ptr<wuffs_base__hasher_u32, decltype(&free)>;
#endif
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_base__hasher_u32__set_quirk_enabled(this, a_quirk, a_enabled);
+ }
+
inline uint32_t //
update_u32(wuffs_base__slice_u8 a_x) {
return wuffs_base__hasher_u32__update_u32(this, a_x);
@@ -3889,6 +3902,9 @@
wuffs_base__status (*restart_frame)(void* self,
uint64_t a_index,
uint64_t a_io_position);
+ wuffs_base__empty_struct (*set_quirk_enabled)(void* self,
+ uint32_t a_quirk,
+ bool a_enabled);
wuffs_base__empty_struct (*set_report_metadata)(void* self,
uint32_t a_fourcc,
bool a_report);
@@ -3950,6 +3966,11 @@
uint64_t a_io_position);
WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_base__image_decoder__set_quirk_enabled(wuffs_base__image_decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
wuffs_base__image_decoder__set_report_metadata(wuffs_base__image_decoder* self,
uint32_t a_fourcc,
bool a_report);
@@ -4036,6 +4057,12 @@
}
inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_base__image_decoder__set_quirk_enabled(this, a_quirk,
+ a_enabled);
+ }
+
+ inline wuffs_base__empty_struct //
set_report_metadata(uint32_t a_fourcc, bool a_report) {
return wuffs_base__image_decoder__set_report_metadata(this, a_fourcc,
a_report);
@@ -4057,6 +4084,9 @@
extern const char* wuffs_base__io_transformer__vtable_name;
typedef struct {
+ wuffs_base__empty_struct (*set_quirk_enabled)(void* self,
+ uint32_t a_quirk,
+ bool a_enabled);
wuffs_base__status (*transform_io)(void* self,
wuffs_base__io_buffer* a_dst,
wuffs_base__io_buffer* a_src,
@@ -4066,6 +4096,11 @@
typedef struct wuffs_base__io_transformer__struct wuffs_base__io_transformer;
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_base__io_transformer__set_quirk_enabled(wuffs_base__io_transformer* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
wuffs_base__io_transformer__transform_io(wuffs_base__io_transformer* self,
wuffs_base__io_buffer* a_dst,
@@ -4090,6 +4125,12 @@
std::unique_ptr<wuffs_base__io_transformer, decltype(&free)>;
#endif
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_base__io_transformer__set_quirk_enabled(this, a_quirk,
+ a_enabled);
+ }
+
inline wuffs_base__status //
transform_io(wuffs_base__io_buffer* a_dst,
wuffs_base__io_buffer* a_src,
@@ -4118,6 +4159,9 @@
wuffs_base__token_buffer* a_dst,
wuffs_base__io_buffer* a_src,
wuffs_base__slice_u8 a_workbuf);
+ wuffs_base__empty_struct (*set_quirk_enabled)(void* self,
+ uint32_t a_quirk,
+ bool a_enabled);
wuffs_base__range_ii_u64 (*workbuf_len)(const void* self);
} wuffs_base__token_decoder__func_ptrs;
@@ -4129,6 +4173,11 @@
wuffs_base__io_buffer* a_src,
wuffs_base__slice_u8 a_workbuf);
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_base__token_decoder__set_quirk_enabled(wuffs_base__token_decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
wuffs_base__token_decoder__workbuf_len(const wuffs_base__token_decoder* self);
@@ -4155,6 +4204,12 @@
a_workbuf);
}
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_base__token_decoder__set_quirk_enabled(this, a_quirk,
+ a_enabled);
+ }
+
inline wuffs_base__range_ii_u64 //
workbuf_len() const {
return wuffs_base__token_decoder__workbuf_len(this);
@@ -4227,6 +4282,11 @@
// ---------------- Public Function Prototypes
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_adler32__hasher__set_quirk_enabled(wuffs_adler32__hasher* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC uint32_t //
wuffs_adler32__hasher__update_u32(wuffs_adler32__hasher* self,
wuffs_base__slice_u8 a_x);
@@ -4318,6 +4378,11 @@
return (wuffs_base__hasher_u32*)this;
}
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_adler32__hasher__set_quirk_enabled(this, a_quirk, a_enabled);
+ }
+
inline uint32_t //
update_u32(wuffs_base__slice_u8 a_x) {
return wuffs_adler32__hasher__update_u32(this, a_x);
@@ -4393,6 +4458,11 @@
// ---------------- Public Function Prototypes
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_bmp__decoder__set_quirk_enabled(wuffs_bmp__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
wuffs_bmp__decoder__decode_image_config(wuffs_bmp__decoder* self,
wuffs_base__image_config* a_dst,
@@ -4573,6 +4643,11 @@
return (wuffs_base__image_decoder*)this;
}
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_bmp__decoder__set_quirk_enabled(this, a_quirk, a_enabled);
+ }
+
inline wuffs_base__status //
decode_image_config(wuffs_base__image_config* a_dst,
wuffs_base__io_buffer* a_src) {
@@ -4710,6 +4785,11 @@
// ---------------- Public Function Prototypes
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_crc32__ieee_hasher__set_quirk_enabled(wuffs_crc32__ieee_hasher* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC uint32_t //
wuffs_crc32__ieee_hasher__update_u32(wuffs_crc32__ieee_hasher* self,
wuffs_base__slice_u8 a_x);
@@ -4801,6 +4881,12 @@
return (wuffs_base__hasher_u32*)this;
}
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_crc32__ieee_hasher__set_quirk_enabled(this, a_quirk,
+ a_enabled);
+ }
+
inline uint32_t //
update_u32(wuffs_base__slice_u8 a_x) {
return wuffs_crc32__ieee_hasher__update_u32(this, a_x);
@@ -4891,6 +4977,11 @@
wuffs_deflate__decoder__add_history(wuffs_deflate__decoder* self,
wuffs_base__slice_u8 a_hist);
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_deflate__decoder__set_quirk_enabled(wuffs_deflate__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
wuffs_deflate__decoder__workbuf_len(const wuffs_deflate__decoder* self);
@@ -5043,6 +5134,11 @@
return wuffs_deflate__decoder__add_history(this, a_hist);
}
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_deflate__decoder__set_quirk_enabled(this, a_quirk, a_enabled);
+ }
+
inline wuffs_base__range_ii_u64 //
workbuf_len() const {
return wuffs_deflate__decoder__workbuf_len(this);
@@ -5125,6 +5221,11 @@
// ---------------- Public Function Prototypes
WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_lzw__decoder__set_quirk_enabled(wuffs_lzw__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
wuffs_lzw__decoder__set_literal_width(wuffs_lzw__decoder* self, uint32_t a_lw);
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
@@ -5247,6 +5348,11 @@
}
inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_lzw__decoder__set_quirk_enabled(this, a_quirk, a_enabled);
+ }
+
+ inline wuffs_base__empty_struct //
set_literal_width(uint32_t a_lw) {
return wuffs_lzw__decoder__set_literal_width(this, a_lw);
}
@@ -6106,6 +6212,11 @@
WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
wuffs_gzip__decoder__set_ignore_checksum(wuffs_gzip__decoder* self, bool a_ic);
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_gzip__decoder__set_quirk_enabled(wuffs_gzip__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
wuffs_gzip__decoder__workbuf_len(const wuffs_gzip__decoder* self);
@@ -6220,6 +6331,11 @@
return wuffs_gzip__decoder__set_ignore_checksum(this, a_ic);
}
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_gzip__decoder__set_quirk_enabled(this, a_quirk, a_enabled);
+ }
+
inline wuffs_base__range_ii_u64 //
workbuf_len() const {
return wuffs_gzip__decoder__workbuf_len(this);
@@ -6566,6 +6682,11 @@
// ---------------- Public Function Prototypes
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_wbmp__decoder__set_quirk_enabled(wuffs_wbmp__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
wuffs_wbmp__decoder__decode_image_config(wuffs_wbmp__decoder* self,
wuffs_base__image_config* a_dst,
@@ -6729,6 +6850,11 @@
return (wuffs_base__image_decoder*)this;
}
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_wbmp__decoder__set_quirk_enabled(this, a_quirk, a_enabled);
+ }
+
inline wuffs_base__status //
decode_image_config(wuffs_base__image_config* a_dst,
wuffs_base__io_buffer* a_src) {
@@ -6885,6 +7011,11 @@
WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
wuffs_zlib__decoder__set_ignore_checksum(wuffs_zlib__decoder* self, bool a_ic);
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_zlib__decoder__set_quirk_enabled(wuffs_zlib__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled);
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
wuffs_zlib__decoder__workbuf_len(const wuffs_zlib__decoder* self);
@@ -7013,6 +7144,11 @@
return wuffs_zlib__decoder__set_ignore_checksum(this, a_ic);
}
+ inline wuffs_base__empty_struct //
+ set_quirk_enabled(uint32_t a_quirk, bool a_enabled) {
+ return wuffs_zlib__decoder__set_quirk_enabled(this, a_quirk, a_enabled);
+ }
+
inline wuffs_base__range_ii_u64 //
workbuf_len() const {
return wuffs_zlib__decoder__workbuf_len(this);
@@ -7606,6 +7742,33 @@
const char* wuffs_base__hasher_u32__vtable_name =
"{vtable}wuffs_base__hasher_u32";
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_base__hasher_u32__set_quirk_enabled(wuffs_base__hasher_u32* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ const wuffs_base__vtable* v = &self->private_impl.first_vtable;
+ int i;
+ for (i = 0; i < 63; i++) {
+ if (v->vtable_name == wuffs_base__hasher_u32__vtable_name) {
+ const wuffs_base__hasher_u32__func_ptrs* func_ptrs =
+ (const wuffs_base__hasher_u32__func_ptrs*)(v->function_pointers);
+ return (*func_ptrs->set_quirk_enabled)(self, a_quirk, a_enabled);
+ } else if (v->vtable_name == NULL) {
+ break;
+ }
+ v++;
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
WUFFS_BASE__MAYBE_STATIC uint32_t //
wuffs_base__hasher_u32__update_u32(wuffs_base__hasher_u32* self,
wuffs_base__slice_u8 a_x) {
@@ -7954,6 +8117,33 @@
}
WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_base__image_decoder__set_quirk_enabled(wuffs_base__image_decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ const wuffs_base__vtable* v = &self->private_impl.first_vtable;
+ int i;
+ for (i = 0; i < 63; i++) {
+ if (v->vtable_name == wuffs_base__image_decoder__vtable_name) {
+ const wuffs_base__image_decoder__func_ptrs* func_ptrs =
+ (const wuffs_base__image_decoder__func_ptrs*)(v->function_pointers);
+ return (*func_ptrs->set_quirk_enabled)(self, a_quirk, a_enabled);
+ } else if (v->vtable_name == NULL) {
+ break;
+ }
+ v++;
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
wuffs_base__image_decoder__set_report_metadata(wuffs_base__image_decoder* self,
uint32_t a_fourcc,
bool a_report) {
@@ -8011,6 +8201,33 @@
const char* wuffs_base__io_transformer__vtable_name =
"{vtable}wuffs_base__io_transformer";
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_base__io_transformer__set_quirk_enabled(wuffs_base__io_transformer* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ const wuffs_base__vtable* v = &self->private_impl.first_vtable;
+ int i;
+ for (i = 0; i < 63; i++) {
+ if (v->vtable_name == wuffs_base__io_transformer__vtable_name) {
+ const wuffs_base__io_transformer__func_ptrs* func_ptrs =
+ (const wuffs_base__io_transformer__func_ptrs*)(v->function_pointers);
+ return (*func_ptrs->set_quirk_enabled)(self, a_quirk, a_enabled);
+ } else if (v->vtable_name == NULL) {
+ break;
+ }
+ v++;
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
wuffs_base__io_transformer__transform_io(wuffs_base__io_transformer* self,
wuffs_base__io_buffer* a_dst,
@@ -8105,6 +8322,33 @@
return wuffs_base__make_status(wuffs_base__error__bad_vtable);
}
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_base__token_decoder__set_quirk_enabled(wuffs_base__token_decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ const wuffs_base__vtable* v = &self->private_impl.first_vtable;
+ int i;
+ for (i = 0; i < 63; i++) {
+ if (v->vtable_name == wuffs_base__token_decoder__vtable_name) {
+ const wuffs_base__token_decoder__func_ptrs* func_ptrs =
+ (const wuffs_base__token_decoder__func_ptrs*)(v->function_pointers);
+ return (*func_ptrs->set_quirk_enabled)(self, a_quirk, a_enabled);
+ } else if (v->vtable_name == NULL) {
+ break;
+ }
+ v++;
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
wuffs_base__token_decoder__workbuf_len(const wuffs_base__token_decoder* self) {
if (!self) {
@@ -10854,6 +11098,8 @@
const wuffs_base__hasher_u32__func_ptrs
wuffs_adler32__hasher__func_ptrs_for__wuffs_base__hasher_u32 = {
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_adler32__hasher__set_quirk_enabled),
(uint32_t(*)(void*, wuffs_base__slice_u8))(
&wuffs_adler32__hasher__update_u32),
};
@@ -10932,6 +11178,22 @@
// ---------------- Function Implementations
+// -------- func adler32.hasher.set_quirk_enabled
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_adler32__hasher__set_quirk_enabled(wuffs_adler32__hasher* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
// -------- func adler32.hasher.update_u32
WUFFS_BASE__MAYBE_STATIC uint32_t //
@@ -11068,6 +11330,8 @@
(wuffs_base__status(*)(void*, uint64_t, uint64_t))(
&wuffs_bmp__decoder__restart_frame),
(wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_bmp__decoder__set_quirk_enabled),
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
&wuffs_bmp__decoder__set_report_metadata),
(wuffs_base__range_ii_u64(*)(const void*))(
&wuffs_bmp__decoder__workbuf_len),
@@ -11147,6 +11411,22 @@
// ---------------- Function Implementations
+// -------- func bmp.decoder.set_quirk_enabled
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_bmp__decoder__set_quirk_enabled(wuffs_bmp__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
// -------- func bmp.decoder.decode_image_config
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
@@ -13286,6 +13566,8 @@
const wuffs_base__hasher_u32__func_ptrs
wuffs_crc32__ieee_hasher__func_ptrs_for__wuffs_base__hasher_u32 = {
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_crc32__ieee_hasher__set_quirk_enabled),
(uint32_t(*)(void*, wuffs_base__slice_u8))(
&wuffs_crc32__ieee_hasher__update_u32),
};
@@ -13364,6 +13646,22 @@
// ---------------- Function Implementations
+// -------- func crc32.ieee_hasher.set_quirk_enabled
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_crc32__ieee_hasher__set_quirk_enabled(wuffs_crc32__ieee_hasher* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
// -------- func crc32.ieee_hasher.update_u32
WUFFS_BASE__MAYBE_STATIC uint32_t //
@@ -13605,6 +13903,8 @@
const wuffs_base__io_transformer__func_ptrs
wuffs_deflate__decoder__func_ptrs_for__wuffs_base__io_transformer = {
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_deflate__decoder__set_quirk_enabled),
(wuffs_base__status(*)(void*,
wuffs_base__io_buffer*,
wuffs_base__io_buffer*,
@@ -13746,6 +14046,22 @@
return wuffs_base__make_empty_struct();
}
+// -------- func deflate.decoder.set_quirk_enabled
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_deflate__decoder__set_quirk_enabled(wuffs_deflate__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
// -------- func deflate.decoder.workbuf_len
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
@@ -15475,6 +15791,8 @@
const wuffs_base__io_transformer__func_ptrs
wuffs_lzw__decoder__func_ptrs_for__wuffs_base__io_transformer = {
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_lzw__decoder__set_quirk_enabled),
(wuffs_base__status(*)(void*,
wuffs_base__io_buffer*,
wuffs_base__io_buffer*,
@@ -15558,6 +15876,22 @@
// ---------------- Function Implementations
+// -------- func lzw.decoder.set_quirk_enabled
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_lzw__decoder__set_quirk_enabled(wuffs_lzw__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
// -------- func lzw.decoder.set_literal_width
WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
@@ -16181,6 +16515,8 @@
(wuffs_base__status(*)(void*, uint64_t, uint64_t))(
&wuffs_gif__config_decoder__restart_frame),
(wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_gif__config_decoder__set_quirk_enabled),
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
&wuffs_gif__config_decoder__set_report_metadata),
(wuffs_base__range_ii_u64(*)(const void*))(
&wuffs_gif__config_decoder__workbuf_len),
@@ -16216,6 +16552,8 @@
(wuffs_base__status(*)(void*, uint64_t, uint64_t))(
&wuffs_gif__decoder__restart_frame),
(wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_gif__decoder__set_quirk_enabled),
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
&wuffs_gif__decoder__set_report_metadata),
(wuffs_base__range_ii_u64(*)(const void*))(
&wuffs_gif__decoder__workbuf_len),
@@ -20747,6 +21085,8 @@
const wuffs_base__io_transformer__func_ptrs
wuffs_gzip__decoder__func_ptrs_for__wuffs_base__io_transformer = {
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_gzip__decoder__set_quirk_enabled),
(wuffs_base__status(*)(void*,
wuffs_base__io_buffer*,
wuffs_base__io_buffer*,
@@ -20861,6 +21201,22 @@
return wuffs_base__make_empty_struct();
}
+// -------- func gzip.decoder.set_quirk_enabled
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_gzip__decoder__set_quirk_enabled(wuffs_gzip__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
// -------- func gzip.decoder.workbuf_len
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
@@ -21419,6 +21775,8 @@
wuffs_base__io_buffer*,
wuffs_base__slice_u8))(
&wuffs_json__decoder__decode_tokens),
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_json__decoder__set_quirk_enabled),
(wuffs_base__range_ii_u64(*)(const void*))(
&wuffs_json__decoder__workbuf_len),
};
@@ -23608,6 +23966,8 @@
(wuffs_base__status(*)(void*, uint64_t, uint64_t))(
&wuffs_wbmp__decoder__restart_frame),
(wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_wbmp__decoder__set_quirk_enabled),
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
&wuffs_wbmp__decoder__set_report_metadata),
(wuffs_base__range_ii_u64(*)(const void*))(
&wuffs_wbmp__decoder__workbuf_len),
@@ -23687,6 +24047,22 @@
// ---------------- Function Implementations
+// -------- func wbmp.decoder.set_quirk_enabled
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_wbmp__decoder__set_quirk_enabled(wuffs_wbmp__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
// -------- func wbmp.decoder.decode_image_config
WUFFS_BASE__MAYBE_STATIC wuffs_base__status //
@@ -24391,6 +24767,8 @@
const wuffs_base__io_transformer__func_ptrs
wuffs_zlib__decoder__func_ptrs_for__wuffs_base__io_transformer = {
+ (wuffs_base__empty_struct(*)(void*, uint32_t, bool))(
+ &wuffs_zlib__decoder__set_quirk_enabled),
(wuffs_base__status(*)(void*,
wuffs_base__io_buffer*,
wuffs_base__io_buffer*,
@@ -24552,6 +24930,22 @@
return wuffs_base__make_empty_struct();
}
+// -------- func zlib.decoder.set_quirk_enabled
+
+WUFFS_BASE__MAYBE_STATIC wuffs_base__empty_struct //
+wuffs_zlib__decoder__set_quirk_enabled(wuffs_zlib__decoder* self,
+ uint32_t a_quirk,
+ bool a_enabled) {
+ if (!self) {
+ return wuffs_base__make_empty_struct();
+ }
+ if (self->private_impl.magic != WUFFS_BASE__MAGIC) {
+ return wuffs_base__make_empty_struct();
+ }
+
+ return wuffs_base__make_empty_struct();
+}
+
// -------- func zlib.decoder.workbuf_len
WUFFS_BASE__MAYBE_STATIC wuffs_base__range_ii_u64 //
diff --git a/std/adler32/common_adler32.wuffs b/std/adler32/common_adler32.wuffs
index 9c18fe0..fd3f078 100644
--- a/std/adler32/common_adler32.wuffs
+++ b/std/adler32/common_adler32.wuffs
@@ -18,6 +18,9 @@
started : base.bool,
)
+pub func hasher.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
+}
+
pub func hasher.update_u32!(x: slice base.u8) base.u32 {
// The Adler-32 checksum's magic 65521 and 5552 numbers are discussed in
// this package's README.md.
diff --git a/std/bmp/decode_bmp.wuffs b/std/bmp/decode_bmp.wuffs
index e0f6658..e5663e4 100644
--- a/std/bmp/decode_bmp.wuffs
+++ b/std/bmp/decode_bmp.wuffs
@@ -54,6 +54,9 @@
util : base.utility,
)
+pub func decoder.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
+}
+
pub func decoder.decode_image_config?(dst: nptr base.image_config, src: base.io_reader) {
var magic : base.u32
var bitmap_info_len : base.u32
diff --git a/std/crc32/common_crc32.wuffs b/std/crc32/common_crc32.wuffs
index a5f352c..4d78085 100644
--- a/std/crc32/common_crc32.wuffs
+++ b/std/crc32/common_crc32.wuffs
@@ -17,6 +17,9 @@
state : base.u32,
)
+pub func ieee_hasher.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
+}
+
// TODO: should it be ? instead of ! because it's public, and might need a way
// to signal "initializer not called"? Should the return type, in the generated
// C code, be "struct{ uint32_t checksum; wuffs_crc32__status status }"?
diff --git a/std/deflate/decode_deflate.wuffs b/std/deflate/decode_deflate.wuffs
index d99ee6d..57f4318 100644
--- a/std/deflate/decode_deflate.wuffs
+++ b/std/deflate/decode_deflate.wuffs
@@ -190,6 +190,9 @@
this.history[0x8000 ..].copy_from_slice!(s: this.history[..])
}
+pub func decoder.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
+}
+
pub func decoder.workbuf_len() base.range_ii_u64 {
return this.util.make_range_ii_u64(
min_incl: decoder_workbuf_len_max_incl_worst_case,
diff --git a/std/gzip/decode_gzip.wuffs b/std/gzip/decode_gzip.wuffs
index 0664003..816cf13 100644
--- a/std/gzip/decode_gzip.wuffs
+++ b/std/gzip/decode_gzip.wuffs
@@ -36,6 +36,9 @@
this.ignore_checksum = args.ic
}
+pub func decoder.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
+}
+
pub func decoder.workbuf_len() base.range_ii_u64 {
return this.util.make_range_ii_u64(
min_incl: decoder_workbuf_len_max_incl_worst_case,
diff --git a/std/lzw/decode_lzw.wuffs b/std/lzw/decode_lzw.wuffs
index 4ec5d3d..7cdb1a5 100644
--- a/std/lzw/decode_lzw.wuffs
+++ b/std/lzw/decode_lzw.wuffs
@@ -69,6 +69,9 @@
output : array[8192 + 7] base.u8,
)
+pub func decoder.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
+}
+
pub func decoder.set_literal_width!(lw: base.u32[..= 8]) {
this.set_literal_width_arg = args.lw + 1
}
diff --git a/std/wbmp/decode_wbmp.wuffs b/std/wbmp/decode_wbmp.wuffs
index cef9c53..6ae61a0 100644
--- a/std/wbmp/decode_wbmp.wuffs
+++ b/std/wbmp/decode_wbmp.wuffs
@@ -28,6 +28,9 @@
util : base.utility,
)
+pub func decoder.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
+}
+
pub func decoder.decode_image_config?(dst: nptr base.image_config, src: base.io_reader) {
var c : base.u8
var i : base.u32
diff --git a/std/zlib/decode_zlib.wuffs b/std/zlib/decode_zlib.wuffs
index 9db5ff1..b3de981 100644
--- a/std/zlib/decode_zlib.wuffs
+++ b/std/zlib/decode_zlib.wuffs
@@ -63,6 +63,9 @@
this.ignore_checksum = args.ic
}
+pub func decoder.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
+}
+
pub func decoder.workbuf_len() base.range_ii_u64 {
return this.util.make_range_ii_u64(
min_incl: decoder_workbuf_len_max_incl_worst_case,