Go for it, IIRC there are a few new strcpy that will need care to change to strlcpy but otherwise it should be easy enough.
On Thu, Dec 24, 2015 at 04:30:37PM -0500, Christian Heckendorf wrote: > * Michael McConville <mm...@mykolab.com> [24.12.2015. @16:19:03 -0500]: > > > Christian Heckendorf wrote: > > > A couple of somewhat recent changes in NetBSD's libedit permit > > > el_gets(3) to accept multibyte characters if the locale supports > > > it. > > > > > > A notable user of this function is sftp(1) which will allow users to > > > input multibyte characters, in filenames for example, once the diff > > > is applied. > > > > I remember someone recently mentioning that libedit is due for an > > update. Maybe we should try to include this in a full sync. > > > > Assuming someone isn't already working on it, I volunteer. > > > > Index: eln.c > > > =================================================================== > > > RCS file: /cvs/src/lib/libedit/eln.c,v > > > retrieving revision 1.4 > > > diff -u -p -r1.4 eln.c > > > --- eln.c 20 May 2014 11:59:03 -0000 1.4 > > > +++ eln.c 24 Dec 2015 19:34:09 -0000 > > > @@ -74,9 +74,18 @@ el_gets(EditLine *el, int *nread) > > > { > > > const wchar_t *tmp; > > > > > > - el->el_flags |= IGNORE_EXTCHARS; > > > + if (!(el->el_flags & CHARSET_IS_UTF8)) > > > + el->el_flags |= IGNORE_EXTCHARS; > > > tmp = el_wgets(el, nread); > > > - el->el_flags &= ~IGNORE_EXTCHARS; > > > + if (tmp != NULL) { > > > + size_t nwread = 0; > > > + int i; > > > + for (i = 0; i < *nread; i++) > > > + nwread += ct_enc_width(tmp[i]); > > > + *nread = (int)nwread; > > > + } > > > + if (!(el->el_flags & CHARSET_IS_UTF8)) > > > + el->el_flags &= ~IGNORE_EXTCHARS; > > > return ct_encode_string(tmp, &el->el_lgcyconv); > > > } > > > > > > > > >