diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-09-02 18:54:53 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-09-02 18:54:53 -0400 |
| commit | 185ddaca82c8b9ad28baccc9879f48a50cc5ed8b (patch) | |
| tree | b84748ac672c4a414787846fe1946240f4ae31e6 | |
| parent | 61e482f6f36aee6f72392a6188f2ec5c858b88fd (diff) | |
Bugfix
| -rw-r--r-- | builtins/text.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/builtins/text.c b/builtins/text.c index ff709e02..839159e4 100644 --- a/builtins/text.c +++ b/builtins/text.c @@ -1427,19 +1427,19 @@ public Text_t Text$format(const char *fmt, ...) va_list args; va_start(args, fmt); - char buf[8]; + char buf[9]; int len = vsnprintf(buf, sizeof(buf), fmt, args); Text_t ret; - if (len <= (int)sizeof(buf)) { + if (len <= 8) { ret = (Text_t){ .length=len, - .tag = TEXT_SHORT_ASCII, + .tag=TEXT_SHORT_ASCII, }; for (int i = 0; i < len; i++) ret.short_ascii[i] = buf[i]; } else { - char *str = GC_MALLOC_ATOMIC(len); - vsnprintf(str, len, fmt, args); + char *str = GC_MALLOC_ATOMIC(len+1); + vsnprintf(str, len+1, fmt, args); ret = Text$from_str(str); } va_end(args); |
