Fix "wuffs genlib" for wuffs_base__foo__func_ptrs
diff --git a/internal/cgen/cgen.go b/internal/cgen/cgen.go
index ca1b17b..b83454e 100644
--- a/internal/cgen/cgen.go
+++ b/internal/cgen/cgen.go
@@ -341,6 +341,15 @@
buf.printf("extern const char* wuffs_base__%s__vtable_name;\n\n", n)
+ buf.writes("typedef struct {\n\n")
+ for _, f := range builtInInterfaceMethods[qid] {
+ if err := g.writeFuncSignature(buf, f, wfsCFuncPtrField); err != nil {
+ return err
+ }
+ buf.writes(";\n")
+ }
+ buf.printf("} wuffs_base__%s__func_ptrs;\n\n", n)
+
buf.printf("typedef struct wuffs_base__%s__struct wuffs_base__%s;\n\n", n, n)
for _, f := range builtInInterfaceMethods[qid] {
@@ -401,15 +410,6 @@
buf.printf("const char* wuffs_base__%s__vtable_name = "+
"\"{vtable}wuffs_base__%s\";\n\n", n, n)
- buf.writes("typedef struct {\n\n")
- for _, f := range builtInInterfaceMethods[qid] {
- if err := g.writeFuncSignature(buf, f, wfsCFuncPtrField); err != nil {
- return err
- }
- buf.writes(";\n")
- }
- buf.printf("} wuffs_base__%s__func_ptrs;\n\n", n)
-
for _, f := range builtInInterfaceMethods[qid] {
returnsStatus := f.Effect().Coroutine() ||
((f.Out() != nil) && f.Out().IsStatus())
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index ddaa006..93cbc3c 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -2568,6 +2568,10 @@
extern const char* wuffs_base__hasher_u32__vtable_name;
+typedef struct {
+ 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 uint32_t //
@@ -4635,10 +4639,6 @@
const char* wuffs_base__hasher_u32__vtable_name =
"{vtable}wuffs_base__hasher_u32";
-typedef struct {
- uint32_t (*update_u32)(void* self, wuffs_base__slice_u8 a_x);
-} wuffs_base__hasher_u32__func_ptrs;
-
WUFFS_BASE__MAYBE_STATIC uint32_t //
wuffs_base__hasher_u32__update_u32(wuffs_base__hasher_u32* self,
wuffs_base__slice_u8 a_x) {