diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2025-04-27 16:49:38 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2025-04-27 16:49:38 -0400 |
| commit | baf990e65c62f42e45fe25ac385db9536d3f1788 (patch) | |
| tree | 7b89cecde1d6cd3b600b9295e0ad22a702cd1065 /src/stdlib/enums.c | |
| parent | 1a8a8bc3e2ebd9c282db8131902f9bb5de8c03cb (diff) | |
Update stdlib to use `print` instead of `printf` in all cases. This
means bringing in fpconv to do float-to-string conversion and a few
updates to integer and number methods for string formatting.
Diffstat (limited to 'src/stdlib/enums.c')
| -rw-r--r-- | src/stdlib/enums.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/stdlib/enums.c b/src/stdlib/enums.c index 0c5cf196..404e3c50 100644 --- a/src/stdlib/enums.c +++ b/src/stdlib/enums.c @@ -74,8 +74,10 @@ public Text_t Enum$as_text(const void *obj, bool colorize, const TypeInfo_t *typ int32_t tag = *(int32_t*)obj; NamedType_t value = type->EnumInfo.tags[tag-1]; - if (!value.type || value.type->size == 0) - return Text$format(colorize ? "\x1b[1m%s\x1b[m" : "%s", value.name); + if (!value.type || value.type->size == 0) { + Text_t text = Text$from_str(value.name); + return colorize ? Texts(Text("\x1b[1m"), text, Text("\x1b[m")) : text; + } ptrdiff_t byte_offset = sizeof(int32_t); if (value.type->align && byte_offset % value.type->align > 0) |
