X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fwidechar%2Flib_key_name.c;h=daf4ab022ae9c727ede89900c92af84525b9c610;hp=da65f219c26621ea9b43532871ef2a978e33f8a9;hb=a924c24b2535cccdc0f5f991cd8ddcadcfa1f0d2;hpb=f6718d80c998008de6cfe8e6296bee3958ff86d7 diff --git a/ncurses/widechar/lib_key_name.c b/ncurses/widechar/lib_key_name.c index da65f219..daf4ab02 100644 --- a/ncurses/widechar/lib_key_name.c +++ b/ncurses/widechar/lib_key_name.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2007 Free Software Foundation, Inc. * + * Copyright (c) 2007,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 +35,9 @@ #include -MODULE_ID("$Id: lib_key_name.c,v 1.3 2008/10/11 20:15:14 tom Exp $") +MODULE_ID("$Id: lib_key_name.c,v 1.4 2017/01/07 19:50:17 tom Exp $") + +#define MyData _nc_globals.key_name NCURSES_EXPORT(NCURSES_CONST char *) key_name(wchar_t c) @@ -44,19 +46,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 0; } - result[len] = '\0'; - return result; + MyData[len] = '\0'; + return MyData; }