X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftrace%2Flib_tracemse.c;h=33d4d3d300d3a4ffb75c585760b0fafe749d17cd;hp=51ffa2ef7634884bf02816032ddbbc548c09b301;hb=1f7a36fe16b11bb4aab51be89bbc1b0f75936b78;hpb=1c551ea75ea57f9186fbe8d79674ac85baa4d358 diff --git a/ncurses/trace/lib_tracemse.c b/ncurses/trace/lib_tracemse.c index 51ffa2ef..33d4d3d3 100644 --- a/ncurses/trace/lib_tracemse.c +++ b/ncurses/trace/lib_tracemse.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. * + * Copyright 2020 Thomas E. Dickey * + * Copyright 1998-2012,2014 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,19 +39,21 @@ #include -MODULE_ID("$Id: lib_tracemse.c,v 1.21 2012/12/15 23:51:19 tom Exp $") +MODULE_ID("$Id: lib_tracemse.c,v 1.23 2020/02/02 23:34:34 tom Exp $") #ifdef TRACE #define my_buffer sp->tracemse_buf -static char * -_trace_mmask_t(SCREEN *sp, mmask_t code) +NCURSES_EXPORT(char *) +_nc_trace_mmask_t(SCREEN *sp, mmask_t code) { #define SHOW(m, s) \ if ((code & m) == m) { \ - _nc_STRCAT(my_buffer, s, sizeof(my_buffer)); \ + size_t n = strlen(my_buffer); \ + if (n && (my_buffer[n-1] != '{')) \ _nc_STRCAT(my_buffer, ", ", sizeof(my_buffer)); \ + _nc_STRCAT(my_buffer, s, sizeof(my_buffer)); \ } SHOW(BUTTON1_RELEASED, "release-1"); @@ -125,7 +128,7 @@ _nc_tracemouse(SCREEN *sp, MEVENT const *ep) ep->z, (unsigned long) ep->bstate); - (void) _trace_mmask_t(sp, ep->bstate); + (void) _nc_trace_mmask_t(sp, ep->bstate); _nc_STRCAT(my_buffer, "}", sizeof(my_buffer)); result = (my_buffer); } @@ -137,7 +140,7 @@ _nc_retrace_mmask_t(SCREEN *sp, mmask_t code) { if (sp != 0) { *my_buffer = '\0'; - T((T_RETURN("{%s}"), _trace_mmask_t(sp, code))); + T((T_RETURN("{%s}"), _nc_trace_mmask_t(sp, code))); } else { T((T_RETURN("{?}"))); }