X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fwidechar%2Flib_ins_wch.c;h=a744f5bf138c72d89fdc9eaf90819f59e2709c73;hp=103dfdc4523268d10d93341251652ab691729961;hb=a6ff7e087fd944fd0035075d0bb528e95e498d81;hpb=76a479337308b4b5e749fa8c38b7b7f482998c5b diff --git a/ncurses/widechar/lib_ins_wch.c b/ncurses/widechar/lib_ins_wch.c index 103dfdc4..a744f5bf 100644 --- a/ncurses/widechar/lib_ins_wch.c +++ b/ncurses/widechar/lib_ins_wch.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 2002-2011,2016 Free Software Foundation, Inc. * + * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2002-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -39,7 +40,7 @@ #include -MODULE_ID("$Id: lib_ins_wch.c,v 1.21 2016/05/28 22:32:11 tom Exp $") +MODULE_ID("$Id: lib_ins_wch.c,v 1.24 2020/02/02 23:34:34 tom Exp $") /* * Insert the given character, updating the current location to simplify @@ -48,7 +49,7 @@ MODULE_ID("$Id: lib_ins_wch.c,v 1.21 2016/05/28 22:32:11 tom Exp $") NCURSES_EXPORT(int) _nc_insert_wch(WINDOW *win, const cchar_t *wch) { - int cells = wcwidth(CharOf(CHDEREF(wch))); + int cells = _nc_wacs_width(CharOf(CHDEREF(wch))); int code = OK; if (cells < 0) { @@ -119,8 +120,8 @@ wins_nwstr(WINDOW *win, const wchar_t *wstr, int n) NCURSES_SIZE_T oy = win->_cury; NCURSES_SIZE_T ox = win->_curx; - for (cp = wstr; *cp && ((cp - wstr) < n); cp++) { - int len = wcwidth(*cp); + for (cp = wstr; ((cp - wstr) < n) && *cp; cp++) { + int len = _nc_wacs_width(*cp); if ((len >= 0 && len != 1) || !is7bits(*cp)) { cchar_t tmp_cchar;