aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/qreg-commands.c
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2024-08-31 02:33:42 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2024-09-09 18:22:21 +0200
commit34683e89478962874f64b06e353bb4d6b9f472ae (patch)
tree0be336a7a4e05dc015287261352cb7b1bc288797 /src/qreg-commands.c
parentb729ee46ebf139399f695c2443cc5a6fdbcbdbe2 (diff)
downloadsciteco-34683e89478962874f64b06e353bb4d6b9f472ae.tar.gz
reserve at most 4 bytes for UTF-8 encoded characters (refs #5)
There is a widespread myth that they could take up to 6 bytes.
Diffstat (limited to 'src/qreg-commands.c')
-rw-r--r--src/qreg-commands.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qreg-commands.c b/src/qreg-commands.c
index 089f2a5..d7bfafe 100644
--- a/src/qreg-commands.c
+++ b/src/qreg-commands.c
@@ -374,7 +374,8 @@ teco_state_setqregstring_nobuilding_done(teco_machine_main_t *ctx,
gsize len = 0;
if (qreg->vtable->get_codepage(qreg) == SC_CP_UTF8) {
- buffer = g_malloc(6*args);
+ /* the glib docs wrongly claim that one character can take 6 bytes */
+ buffer = g_malloc(4*args);
for (gint i = args; i > 0; i--) {
teco_int_t v;
if (!teco_expressions_pop_num_calc(&v, 0, error))