X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Ftries.c;h=0f8c0516e88f0ab36cebfcec4ef368345d2aa528;hp=54e4d9831ebc97dff0ea0fd543adb1ca8636ec54;hb=HEAD;hpb=bd7ef7c2309fd00aa4576168c46f557c622cb9c3 diff --git a/ncurses/base/tries.c b/ncurses/base/tries.c index 54e4d983..0f8c0516 100644 --- a/ncurses/base/tries.c +++ b/ncurses/base/tries.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. * + * Copyright 2020,2023 Thomas E. Dickey * + * Copyright 1998-2009,2010 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 * @@ -38,8 +39,9 @@ */ #include +#include -MODULE_ID("$Id: tries.c,v 1.26 2008/05/31 16:54:22 tom Exp $") +MODULE_ID("$Id: tries.c,v 1.32 2023/06/24 15:36:23 tom Exp $") /* * Expand a keycode into the string that it corresponds to, returning null if @@ -68,11 +70,13 @@ _nc_expand_try(TRIES * tree, unsigned code, int *count, size_t len) } } if (result != 0) { - if (ptr != 0 && (result[len] = ptr->ch) == 0) + if (ptr != 0 && (result[len] = (char) ptr->ch) == 0) *((unsigned char *) (result + len)) = 128; #ifdef TRACE if (len == 0 && USE_TRACEF(TRACE_MAXIMUM)) { - _tracef("expand_key %s %s", _nc_tracechar(SP, code), _nc_visbuf(result)); + _tracef("expand_key %s %s", + _nc_tracechar(CURRENT_SCREEN, (int) code), + _nc_visbuf(result)); _nc_unlock_global(tracef); } #endif @@ -87,7 +91,7 @@ _nc_expand_try(TRIES * tree, unsigned code, int *count, size_t len) NCURSES_EXPORT(int) _nc_remove_key(TRIES ** tree, unsigned code) { - T((T_CALLED("_nc_remove_key(%p,%d)"), tree, code)); + T((T_CALLED("_nc_remove_key(%p,%d)"), (void *) tree, code)); if (code == 0) returnCode(FALSE); @@ -119,9 +123,9 @@ _nc_remove_key(TRIES ** tree, unsigned code) NCURSES_EXPORT(int) _nc_remove_string(TRIES ** tree, const char *string) { - T((T_CALLED("_nc_remove_string(%p,%s)"), tree, _nc_visbuf(string))); + T((T_CALLED("_nc_remove_string(%p,%s)"), (void *) tree, _nc_visbuf(string))); - if (string == 0 || *string == 0) + if (!VALID_STRING(string) || *string == 0) returnCode(FALSE); while (*tree != 0) {