aboutsummaryrefslogtreecommitdiff
path: root/core/image
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-08-15 18:13:56 +0100
committergingerBill <bill@gingerbill.org>2021-08-15 18:13:56 +0100
commit4035fec784fc7e0109d2f8a3d3bbfb5696512de1 (patch)
treee961505ebf199e62a9db447a551fc8ace63ade4c /core/image
parentb071a07c86f39f3f37ff74dcb05266cf4cbd9540 (diff)
Add more uses of `or_return`
Diffstat (limited to 'core/image')
-rw-r--r--core/image/png/png.odin39
1 files changed, 9 insertions, 30 deletions
diff --git a/core/image/png/png.odin b/core/image/png/png.odin
index e3a36c2fe..587fa4042 100644
--- a/core/image/png/png.odin
+++ b/core/image/png/png.odin
@@ -372,8 +372,7 @@ load_from_file :: proc(filename: string, options := Options{}, allocator := cont
defer delete(data);
if ok {
- img, err = load_from_slice(data, options, allocator);
- return;
+ return load_from_slice(data, options, allocator);
} else {
img = new(Image);
return img, E_General.File_Not_Found;
@@ -453,10 +452,7 @@ load_from_context :: proc(ctx: ^$C, options := Options{}, allocator := context.a
}
seen_ihdr = true;
- header, err = read_header(ctx);
- if err != nil {
- return img, err;
- }
+ header = read_header(ctx) or_return;
if .Paletted in header.color_type {
// Color type 3
@@ -506,10 +502,7 @@ load_from_context :: proc(ctx: ^$C, options := Options{}, allocator := context.a
return img, E_PNG.PLTE_Encountered_Unexpectedly;
}
- c, err = read_chunk(ctx);
- if err != nil {
- return img, err;
- }
+ c = read_chunk(ctx) or_return;
if c.header.length % 3 != 0 || c.header.length > 768 {
return img, E_PNG.PLTE_Invalid_Length;
@@ -540,10 +533,7 @@ load_from_context :: proc(ctx: ^$C, options := Options{}, allocator := context.a
next := ch.type;
for next == .IDAT {
- c, err = read_chunk(ctx);
- if err != nil {
- return img, err;
- }
+ c = read_chunk(ctx) or_return;
bytes.buffer_write(&idat_b, c.data);
idat_length += c.header.length;
@@ -560,19 +550,13 @@ load_from_context :: proc(ctx: ^$C, options := Options{}, allocator := context.a
}
seen_idat = true;
case .IEND:
- c, err = read_chunk(ctx);
- if err != nil {
- return img, err;
- }
+ c = read_chunk(ctx) or_return;
seen_iend = true;
case .bKGD:
// TODO: Make sure that 16-bit bKGD + tRNS chunks return u16 instead of u16be
- c, err = read_chunk(ctx);
- if err != nil {
- return img, err;
- }
+ c = read_chunk(ctx) or_return;
seen_bkgd = true;
if .return_metadata in options {
append(&info.chunks, c);
@@ -604,10 +588,7 @@ load_from_context :: proc(ctx: ^$C, options := Options{}, allocator := context.a
img.background = [3]u16{u16(col[0]), u16(col[1]), u16(col[2])};
}
case .tRNS:
- c, err = read_chunk(ctx);
- if err != nil {
- return img, err;
- }
+ c = read_chunk(ctx) or_return;
if .Alpha in info.header.color_type {
return img, E_PNG.TRNS_Encountered_Unexpectedly;
@@ -646,10 +627,8 @@ load_from_context :: proc(ctx: ^$C, options := Options{}, allocator := context.a
return img, E_PNG.PNG_Does_Not_Adhere_to_Spec;
case:
// Unhandled type
- c, err = read_chunk(ctx);
- if err != nil {
- return img, err;
- }
+ c = read_chunk(ctx) or_return;
+
if .return_metadata in options {
// NOTE: Chunk cata is currently allocated on the temp allocator.
append(&info.chunks, c);