From 8d346eca90e89262961ada4f95865d6860352530 Mon Sep 17 00:00:00 2001 From: Martin Fouilleul Date: Sun, 10 Sep 2023 19:59:02 +0200 Subject: [PATCH] flip order of len and ptr in oc_str8/16/32 structs, to make bindings easier --- src/graphics/graphics_common.c | 14 +++++++------- src/runtime_memory.h | 2 +- src/util/strings.h | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/graphics/graphics_common.c b/src/graphics/graphics_common.c index 23a6307..406dcdf 100644 --- a/src/graphics/graphics_common.c +++ b/src/graphics/graphics_common.c @@ -636,8 +636,8 @@ oc_str32 oc_font_get_glyph_indices_from_font_data(oc_font_data* fontData, oc_str u32 oc_font_get_glyph_index_from_font_data(oc_font_data* fontData, oc_utf32 codePoint) { u32 glyphIndex = 0; - oc_str32 codePoints = { 1, &codePoint }; - oc_str32 backing = { 1, &glyphIndex }; + oc_str32 codePoints = { .ptr = &codePoint, .len = 1 }; + oc_str32 backing = { .ptr = &glyphIndex, 1 }; oc_font_get_glyph_indices_from_font_data(fontData, codePoints, backing); return (glyphIndex); } @@ -655,15 +655,15 @@ oc_str32 oc_font_get_glyph_indices(oc_font font, oc_str32 codePoints, oc_str32 b oc_str32 oc_font_push_glyph_indices(oc_font font, oc_arena* arena, oc_str32 codePoints) { u32* buffer = oc_arena_push_array(arena, u32, codePoints.len); - oc_str32 backing = { codePoints.len, buffer }; + oc_str32 backing = { .ptr = buffer, .len = codePoints.len }; return (oc_font_get_glyph_indices(font, codePoints, backing)); } u32 oc_font_get_glyph_index(oc_font font, oc_utf32 codePoint) { u32 glyphIndex = 0; - oc_str32 codePoints = { 1, &codePoint }; - oc_str32 backing = { 1, &glyphIndex }; + oc_str32 codePoints = { .ptr = &codePoint, .len = 1 }; + oc_str32 backing = { .ptr = &glyphIndex, .len = 1 }; oc_font_get_glyph_indices(font, codePoints, backing); return (glyphIndex); } @@ -783,7 +783,7 @@ oc_text_metrics oc_font_text_metrics_utf32(oc_font font, f32 fontSize, oc_str32 if(missingGlyphIndex) { - oc_font_get_glyph_metrics_from_font_data(fontData, (oc_str32){ 1, &missingGlyphIndex }, &missingGlyphMetrics); + oc_font_get_glyph_metrics_from_font_data(fontData, (oc_str32){ .ptr = &missingGlyphIndex, .len = 1 }, &missingGlyphMetrics); } else { @@ -793,7 +793,7 @@ oc_text_metrics oc_font_text_metrics_utf32(oc_font font, f32 fontSize, oc_str32 missingGlyphIndex = oc_font_get_glyph_index_from_font_data(fontData, 'X'); if(missingGlyphIndex) { - oc_font_get_glyph_metrics_from_font_data(fontData, (oc_str32){ 1, &missingGlyphIndex }, &missingGlyphMetrics); + oc_font_get_glyph_metrics_from_font_data(fontData, (oc_str32){ .ptr = &missingGlyphIndex, .len = 1 }, &missingGlyphMetrics); } else { diff --git a/src/runtime_memory.h b/src/runtime_memory.h index c87b9e4..a54ab8d 100644 --- a/src/runtime_memory.h +++ b/src/runtime_memory.h @@ -72,8 +72,8 @@ void oc_wasm_list_push_back(oc_wasm_list* list, oc_wasm_list_elt* elt); typedef struct oc_wasm_str8 { - u64 len; u32 ptr; + u64 len; } oc_wasm_str8; typedef struct oc_wasm_str8_elt diff --git a/src/util/strings.h b/src/util/strings.h index 44fc27c..32da663 100644 --- a/src/util/strings.h +++ b/src/util/strings.h @@ -34,8 +34,8 @@ extern "C" { //---------------------------------------------------------------------------------- typedef struct oc_str8 { - u64 len; char* ptr; + u64 len; } oc_str8; #define OC_STR8(s) ((oc_str8){ .len = (s) ? strlen(s) : 0, .ptr = (char*)s }) @@ -43,7 +43,7 @@ typedef struct oc_str8 //NOTE: this only works with string literals, but is sometimes necessary to generate compile-time constants #define OC_STR8_LIT(s) \ { \ - sizeof(s) - 1, s \ + s, sizeof(s) - 1 \ } #define oc_str8_lp(s) ((s).len), ((s).ptr) @@ -92,8 +92,8 @@ ORCA_API oc_str8_list oc_str8_split(oc_arena* arena, oc_str8 str, oc_str8_list s //---------------------------------------------------------------------------------- typedef struct oc_str16 { - u64 len; u16* ptr; + u64 len; } oc_str16; ORCA_API oc_str16 oc_str16_from_buffer(u64 len, u16* buffer); @@ -125,8 +125,8 @@ ORCA_API oc_str16_list oc_str16_split(oc_arena* arena, oc_str16 str, oc_str16_li //---------------------------------------------------------------------------------- typedef struct oc_str32 { - u64 len; u32* ptr; + u64 len; } oc_str32; ORCA_API oc_str32 oc_str32_from_buffer(u64 len, u32* buffer);