summaryrefslogtreecommitdiff
path: root/devel/libedit/files/patch-src_eln.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/libedit/files/patch-src_eln.c')
-rw-r--r--devel/libedit/files/patch-src_eln.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/devel/libedit/files/patch-src_eln.c b/devel/libedit/files/patch-src_eln.c
new file mode 100644
index 000000000000..3021c89d94a7
--- /dev/null
+++ b/devel/libedit/files/patch-src_eln.c
@@ -0,0 +1,21 @@
+--- src/eln.c.orig 2015-03-25 21:02:28.000000000 +0100
++++ src/eln.c 2015-03-28 11:42:29.913925000 +0100
+@@ -75,12 +75,17 @@ public const char *
+ el_gets(EditLine *el, int *nread)
+ {
+ const wchar_t *tmp;
++ int nwread;
++
++ *nread = 0;
+
+ if (!(el->el_flags & CHARSET_IS_UTF8))
+ el->el_flags |= IGNORE_EXTCHARS;
+- tmp = el_wgets(el, nread);
++ tmp = el_wgets(el, &nwread);
+ if (!(el->el_flags & CHARSET_IS_UTF8))
+ el->el_flags &= ~IGNORE_EXTCHARS;
++ for (int i = 0; i < nwread; i++)
++ *nread += ct_enc_width(tmp[i]);
+ return ct_encode_string(tmp, &el->el_lgcyconv);
+ }
+