std/jpeg: prefer decode_frame errors over swizzle
"g++ script/manual-test-truncated-input.cc && ./a.out test/data/*" is
now happy.
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 888a1d9..cbf3f24 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -42156,7 +42156,10 @@
} else {
v_swizzle_status = wuffs_jpeg__decoder__swizzle_colorful(self, a_dst, a_workbuf);
}
- if (wuffs_base__status__is_error(&v_swizzle_status)) {
+ if (wuffs_base__status__is_error(&v_ddf_status)) {
+ status = v_ddf_status;
+ goto exit;
+ } else if (wuffs_base__status__is_error(&v_swizzle_status)) {
status = v_swizzle_status;
goto exit;
}
diff --git a/std/jpeg/decode_jpeg.wuffs b/std/jpeg/decode_jpeg.wuffs
index 41d9a50..c5c4cee 100644
--- a/std/jpeg/decode_jpeg.wuffs
+++ b/std/jpeg/decode_jpeg.wuffs
@@ -892,7 +892,9 @@
} else {
swizzle_status = this.swizzle_colorful!(dst: args.dst, workbuf: args.workbuf)
}
- if swizzle_status.is_error() {
+ if ddf_status.is_error() {
+ return ddf_status
+ } else if swizzle_status.is_error() {
return swizzle_status
}
}