X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftrace%2Fvisbuf.c;h=fec06439c35a06700b7af87da6719bff2fed80f2;hp=425810d644c4156efa7ade415aa2d46efe4f3177;hb=808858ace09b9bf60f7154e33cb6572f49347101;hpb=8b06e371ed1bce3dd6f37138e6becb5e1a562fe0 diff --git a/ncurses/trace/visbuf.c b/ncurses/trace/visbuf.c index 425810d6..fec06439 100644 --- a/ncurses/trace/visbuf.c +++ b/ncurses/trace/visbuf.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. * + * Copyright (c) 2001-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 * @@ -42,12 +42,12 @@ #include #include -MODULE_ID("$Id: visbuf.c,v 1.40 2012/02/22 22:40:24 tom Exp $") +MODULE_ID("$Id: visbuf.c,v 1.44 2014/09/25 08:51:13 tom Exp $") #define NUM_VISBUFS 4 #define NormalLen(len) (size_t) (((size_t)(len) + 1) * 4) -#define WideLen(len) (size_t) (((size_t)(len) + 1) * 4 * MB_CUR_MAX) +#define WideLen(len) (size_t) (((size_t)(len) + 1) * 4 * (size_t) MB_CUR_MAX) #ifdef TRACE static const char d_quote[] = StringOf(D_QUOTE); @@ -69,7 +69,7 @@ _nc_vischar(char *tp, unsigned c LIMIT_ARG) if (c == '"' || c == '\\') { *tp++ = '\\'; *tp++ = (char) c; - } else if (is7bits(c) && (isgraph(c) || c == ' ')) { + } else if (is7bits((int) c) && (isgraph((int) c) || c == ' ')) { *tp++ = (char) c; } else if (c == '\n') { *tp++ = '\\'; @@ -262,10 +262,12 @@ _nc_viswibuf(const wint_t *buf) else mybuf = typeMalloc(wchar_t, mylen); } - for (n = 0; buf[n] != 0; ++n) { - mybuf[n] = (wchar_t) buf[n]; + if (mybuf != 0) { + for (n = 0; buf[n] != 0; ++n) { + mybuf[n] = (wchar_t) buf[n]; + } + mybuf[n] = L'\0'; } - mybuf[n] = L'\0'; return _nc_viswbuf2(0, mybuf); } @@ -338,7 +340,7 @@ _nc_viscbuf2(int bufnum, const NCURSES_CH_T * buf, int len) { char temp[80]; VisChar(temp, UChar(buf[j]), sizeof(temp)); - result = _nc_trace_bufcat(bufnum, temp); + (void) _nc_trace_bufcat(bufnum, temp); } #endif /* USE_WIDEC_SUPPORT */ }