X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fwidechar%2Flib_key_name.c;h=8acfe7a2f4987b42147cec31e7f1e028e047ca02;hp=e24c9654d56459eba083f2cede09a22d5ee18ab3;hb=b724cdc89cf31757ab43262ecefe5242b0edc450;hpb=7b2974498fac39a3ffde257c92f572234d529239 diff --git a/ncurses/widechar/lib_key_name.c b/ncurses/widechar/lib_key_name.c index e24c9654..8acfe7a2 100644 --- a/ncurses/widechar/lib_key_name.c +++ b/ncurses/widechar/lib_key_name.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 2007 Free Software Foundation, Inc. * + * Copyright 2020 Thomas E. Dickey * + * Copyright 2007-2008,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 * @@ -35,7 +36,9 @@ #include -MODULE_ID("$Id: lib_key_name.c,v 1.2 2007/06/12 21:01:13 tom Exp $") +MODULE_ID("$Id: lib_key_name.c,v 1.5 2020/02/02 23:34:34 tom Exp $") + +#define MyData _nc_globals.key_name NCURSES_EXPORT(NCURSES_CONST char *) key_name(wchar_t c) @@ -44,19 +47,16 @@ key_name(wchar_t c) wchar_t *my_wchars; size_t len; - /* FIXME: move to _nc_globals */ - static char result[MB_LEN_MAX + 1]; - memset(&my_cchar, 0, sizeof(my_cchar)); my_cchar.chars[0] = c; my_cchar.chars[1] = L'\0'; my_wchars = wunctrl(&my_cchar); - len = wcstombs(result, my_wchars, sizeof(result) - 1); + len = wcstombs(MyData, my_wchars, sizeof(MyData) - 1); if (isEILSEQ(len) || (len == 0)) { - return "UNKNOWN KEY"; + return 0; } - result[len] = '\0'; - return result; + MyData[len] = '\0'; + return MyData; }