X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fwidechar%2Flib_wacs.c;h=33e001fa93e700eed6b42399243fe7b8358e5880;hp=7c1ce02127774b2c222c4740618ab7435bc14047;hb=cc387b11f421650091d84640e05825ea5161ac66;hpb=2a250f30ac496bb8a383036dcbd4ec0218c98ac5 diff --git a/ncurses/widechar/lib_wacs.c b/ncurses/widechar/lib_wacs.c index 7c1ce021..33e001fa 100644 --- a/ncurses/widechar/lib_wacs.c +++ b/ncurses/widechar/lib_wacs.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2002-2008,2009 Free Software Foundation, Inc. * + * Copyright (c) 2002-2012,2013 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 * @@ -32,7 +32,7 @@ #include -MODULE_ID("$Id: lib_wacs.c,v 1.9 2009/10/03 20:18:21 tom Exp $") +MODULE_ID("$Id: lib_wacs.c,v 1.13 2013/02/02 17:10:48 tom Exp $") NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0; @@ -41,7 +41,7 @@ _nc_init_wacs(void) { /* *INDENT-OFF* */ static const struct { - int map; + unsigned map; int value[2]; } table[] = { /* VT100 symbols */ @@ -119,22 +119,24 @@ _nc_init_wacs(void) T(("initializing WIDE-ACS map (Unicode is%s active)", active ? "" : " not")); - _nc_wacs = typeCalloc(cchar_t, ACS_LEN); - for (n = 0; n < SIZEOF(table); ++n) { - int wide = wcwidth(table[n].value[active]); + if ((_nc_wacs = typeCalloc(cchar_t, ACS_LEN)) != 0) { - m = table[n].map; - if (active && (wide == 1)) { - SetChar(_nc_wacs[m], table[n].value[active], A_NORMAL); - } else if (acs_map[m] & A_ALTCHARSET) { - SetChar(_nc_wacs[m], m, A_ALTCHARSET); - } else { - SetChar(_nc_wacs[m], table[n].value[0], A_NORMAL); - } + for (n = 0; n < SIZEOF(table); ++n) { + int wide = wcwidth(table[n].value[active]); + + m = table[n].map; + if (active && (wide == 1)) { + SetChar(_nc_wacs[m], table[n].value[1], A_NORMAL); + } else if (acs_map[m] & A_ALTCHARSET) { + SetChar(_nc_wacs[m], m, A_ALTCHARSET); + } else { + SetChar(_nc_wacs[m], table[n].value[0], A_NORMAL); + } - T(("#%d, SetChar(%c, %#04x) = %s", - n, m, - table[n].value[active], - _tracecchar_t(&_nc_wacs[m]))); + T(("#%d, SetChar(%c, %#04x) = %s", + n, m, + table[n].value[active], + _tracecchar_t(&_nc_wacs[m]))); + } } }