From 41fff233f29b6ee7274f4bf525052dcf0fa56c00 Mon Sep 17 00:00:00 2001 From: neonloop Date: Sat, 21 Aug 2021 00:10:44 +0000 Subject: Updates message display and adds loading message to pcsx --- util.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 util.c (limited to 'util.c') diff --git a/util.c b/util.c new file mode 100644 index 0000000..ccc8c19 --- /dev/null +++ b/util.c @@ -0,0 +1,29 @@ +#include "util.h" + +void string_truncate(char *string, size_t max_len) { + size_t len = strlen(string) + 1; + if (len <= max_len) return; + + strncpy(&string[max_len - 4], "...\0", 4); +} + +void string_wrap(char *string, size_t max_len, size_t max_lines) { + char *line = string; + + for (size_t i = 1; i < max_lines; i++) { + char *p = line; + char *prev; + do { + prev = p; + p = strchr(prev+1, ' '); + } while (p && p - line < (int)max_len); + + if (!p && strlen(line) < max_len) break; + + if (prev && prev != line) { + line = prev + 1; + *prev = '\n'; + } + } + string_truncate(line, max_len); +} -- cgit v1.2.3