X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fwidechar%2Flib_cchar.c;fp=ncurses%2Fwidechar%2Flib_cchar.c;h=451c5dcb518b1ff9c36f33afd9722f77deeb6b04;hp=714be3b5a019f5bae078a7517b11b8661209dbc4;hb=3183ac61c6bf0a75ee65dc8cbebf54f7c143df46;hpb=6662c1ccb49cb09d0f2cec2ec6150410a0fd0f7f diff --git a/ncurses/widechar/lib_cchar.c b/ncurses/widechar/lib_cchar.c index 714be3b5..451c5dcb 100644 --- a/ncurses/widechar/lib_cchar.c +++ b/ncurses/widechar/lib_cchar.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2019-2020,2021 Thomas E. Dickey * + * Copyright 2019-2021,2022 Thomas E. Dickey * * Copyright 2001-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -37,7 +37,7 @@ #include #include -MODULE_ID("$Id: lib_cchar.c,v 1.37 2021/06/17 21:11:08 tom Exp $") +MODULE_ID("$Id: lib_cchar.c,v 1.38 2022/07/27 08:03:16 tom Exp $") /* * The SuSv2 description leaves some room for interpretation. We'll assume wch @@ -122,10 +122,13 @@ getcchar(const cchar_t *wcval, wchar_t *wp; int len; +#if HAVE_WMEMCHR len = ((wp = wmemchr(wcval->chars, L'\0', (size_t) CCHARW_MAX)) ? (int) (wp - wcval->chars) : CCHARW_MAX); - +#else + len = wcsnlen(wcval->chars, CCHARW_MAX); +#endif if (wch == NULL) { /* * If the value is a null, set the length to 1.