X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fwidechar%2Flib_wunctrl.c;h=155da22926ba81556a2a2bd54943dab534258e0b;hp=b9f8d6a5e0f180cfefca5bcbebee5ff228167253;hb=HEAD;hpb=7a6bbc8cf41c5186d46accc3d08622dc86526b34;ds=sidebyside diff --git a/ncurses/widechar/lib_wunctrl.c b/ncurses/widechar/lib_wunctrl.c index b9f8d6a5..155da229 100644 --- a/ncurses/widechar/lib_wunctrl.c +++ b/ncurses/widechar/lib_wunctrl.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 2001-2007,2009 Free Software Foundation, Inc. * + * Copyright 2020 Thomas E. Dickey * + * Copyright 2001-2011,2012 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 * @@ -35,25 +36,30 @@ #include -MODULE_ID("$Id: lib_wunctrl.c,v 1.13 2009/04/18 19:06:55 tom Exp $") +MODULE_ID("$Id: lib_wunctrl.c,v 1.17 2020/02/02 23:34:34 tom Exp $") NCURSES_EXPORT(wchar_t *) NCURSES_SP_NAME(wunctrl) (NCURSES_SP_DCLx cchar_t *wc) { static wchar_t str[CCHARW_MAX + 1], *wsp; + wchar_t *result; - if (Charable(*wc)) { + if (wc == 0) { + result = 0; + } else if (SP_PARM != 0 && Charable(*wc)) { const char *p = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx (unsigned) _nc_to_char((wint_t)CharOf(*wc))); for (wsp = str; *p; ++p) { - *wsp++ = _nc_to_widechar(*p); + *wsp++ = (wchar_t) _nc_to_widechar(*p); } *wsp = 0; - return str; - } else - return wc->chars; + result = str; + } else { + result = wc->chars; + } + return result; } #if NCURSES_SP_FUNCS