./package/debian-mingw/compat
./package/debian-mingw/control
./package/debian-mingw/copyright
+./package/debian-mingw/mingw32-ncurses6.lintian-overrides
./package/debian-mingw/rules
./package/debian-mingw/source/format
./package/debian-mingw/watch
./package/debian-mingw64/compat
./package/debian-mingw64/control
./package/debian-mingw64/copyright
+./package/debian-mingw64/mingw64-ncurses6.lintian-overrides
./package/debian-mingw64/rules
./package/debian-mingw64/source/format
./package/debian-mingw64/watch
./package/debian/compat
./package/debian/control
./package/debian/copyright
+./package/debian/ncurses6.lintian-overrides
+./package/debian/ncursest6.lintian-overrides
./package/debian/rules
./package/debian/source/format
./package/debian/watch
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2882 2017/07/09 00:25:16 tom Exp $
+-- $Id: NEWS,v 1.2888 2017/07/15 22:29:41 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20170715
+ + modify command-line parameters for "convert" used in picsmap to work
+ with ImageMagick 6.8 and newer.
+ + fix build-problem with tack and ABI-5 (Debian #868328).
+ + repair termcap-format from tic/infocmp broken in 20170701 fixes
+ (Debian #868266).
+ + reformat terminfo.src with 20170513 updates.
+ + improve test-packages to address lintian warnings.
+
20170708
+ add a note to tic manual page about -W versus -f options.
+ correct a limit-check in fixes from 20170701 (report by Sven Joachim).
-5:0:9 6.0 20170708
+5:0:9 6.0 20170715
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1171 2017/07/02 14:32:53 tom Exp $
+# $Id: dist.mk,v 1.1172 2017/07/13 00:15:27 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 0
-NCURSES_PATCH = 20170708
+NCURSES_PATCH = 20170715
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.602 $
-# $Date: 2017/04/22 20:18:54 $
+# $Revision: 1.603 $
+# $Date: 2017/05/14 01:32:04 $
#
# The original header is preserved below for reference. It is noted that there
# is a "newer" version which differs in some cosmetic details (but actually
ansi+idl,
dl=\E[%p1%dM, il=\E[%p1%dL, use=ansi+idl1,
ansi+idc,
- dch1=\E[P, ich=\E[%p1%d@, ich1=\E[@, rmir=\E[4l, smir=\E[4h,
+ dch1=\E[P, ich=\E[%p1%d@, ich1=\E[@, rmir=\E[4l,
+ smir=\E[4h,
ansi+arrows,
kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
khome=\E[H,
#
tw52|tw52-color|Toswin window manager with color,
bce,
- colors#16, pairs#256,
+ colors#16, pairs#0x100,
oc=\Eb?\Ec0, op=\Eb?\Ec0,
setab=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
%{48}%+%c,
lines#30, use=at-color,
st52-color|at-color|atari-color|atari_st-color|Atari ST with color,
bce,
- colors#16, pairs#256,
+ colors#16, pairs#0x100,
is2=\Ev\Eq\Ee\Eb1\Ec0, rs2=\Ev\Eq\Ee\Eb1\Ec0,
setab=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
cols#200, lines#75,
xnuppc+256x96|Darwin PowerPC Console 256x96 support (2048x1536 pixels),
- cols#256, lines#96,
+ cols#0x100, lines#96,
# These are different combinations of the building blocks
# Not used here, the program recognizes escapes for italic, underline and
# dim, rendering those as green, cyan and gray respectively.
fbterm|FbTerm for Linux with framebuffer,
- colors#256, pairs#32767,
+ colors#0x100, pairs#0x7fff,
acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
# you use a 512-character console font. This uses bold for bright
# foreground colors and blink for bright background colors.
linux-16color|linux console with 16 colors,
- colors#16, ncv#42, pairs#256,
+ colors#16, ncv#42, pairs#0x100,
setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m,
setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m,
use=linux,
# xterm patch #111 (1999/7/10) -TD
xterm+256color|xterm 256-color feature,
ccc,
- colors#256, pairs#32767,
+ colors#0x100, pairs#0x7fff,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
oc=\E]104\007,
# palette is hardcoded...
xterm+256setaf|xterm 256-color (set-only),
ccc@,
- colors#256, pairs#32767,
+ colors#0x100, pairs#0x7fff,
initc@,
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
5;%p1%d%;m,
# e) removed km
terminator|Terminator no line wrap,
eo, mir, msgr, xenl, xon,
- colors#256, cols#80, it#8, lines#24, lm#0, pairs#32767,
+ colors#0x100, cols#80, it#8, lines#24, lm#0, pairs#0x7fff,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
cnorm=\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr,
vpa=\E[%i%p1%dd,
dvtm-256color|dynamic virtual terminal manager with 256 colors,
- colors#256, pairs#32767,
+ colors#0x100, pairs#0x7fff,
setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
5;%p1%d%;m,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5
# The <u0> capability sets form length
att5310|att5320|AT&T Model 53210 or 5320 matrix printer,
xhpa, xvpa,
- bufsz#8192, cols#132, cps#120, it#8, lines#66, orc#10,
+ bufsz#0x2000, cols#132, cps#120, it#8, lines#66, orc#10,
orhi#100, orl#12, orvi#72,
cpi=%?%p1%{10}%=%t\E[w%e%p1%{12}%=%t\E[2w%e%p1%{5}%=%t\E[5w
%e%p1%{13}%=%p1%{14}%=%O%t\E[3w%e%p1%{16}%=%p1%{17}%=%O
use=citoh,
# citoh has infinite cols because we don't want lp ever inserting \n\t**.
citoh-prop|citoh-ps|ips|citoh in proportional spacing mode,
- cols#32767,
+ cols#0x7fff,
is1=\EP, use=citoh,
citoh-6lpi|citoh in 6 lines per inch mode,
is3=\EA, use=citoh,
#
dgunix+fixed|Fixed color info for DG D430C terminals in DG-UNIX mode,
bce,
- colors#16, ncv#53, pairs#256,
+ colors#16, ncv#53, pairs#0x100,
op=\036Ad\036Bd,
setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1
%{4}%&%t%{1}%|%;%;%{48}%+%c,
%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
dg+color|Color info for Data General D470C terminals in ANSI mode,
- colors#16, ncv#53, pairs#256,
+ colors#16, ncv#53, pairs#0x100,
setab=\E[%?%p1%{8}%<%t4%p1%e=%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;
%?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t
;5%;%?%gR%t;7%;m,
setb=\036B%p1%{48}%+%c, setf=\036A%p1%{48}%+%c,
dgmode+color|Color info for Data General D470C terminals in DG mode,
- colors#16, pairs#256,
+ colors#16, pairs#0x100,
setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1
%{4}%&%t%{1}%|%;%;%{48}%+%c,
setaf=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1
%p1%{3}%=%t33m%e%p1%{4}%=%t34m%e%p1%{5}%=%t35m%e%p1%{6}
%=%t36m%e%p1%{7}%=%t97m%;,
ibm+16color|IBM aixterm color definitions,
- colors#16, pairs#256,
+ colors#16, pairs#0x100,
setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm,
setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm,
setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e
# requires use of appropriate preferences settings.
amiga-vnc|Amiga using VNC console (black on light gray),
am, da, db, msgr, ndscr,
- btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#256,
+ btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#0x100,
bel=^G, blink=\E[7;2m, bold=\E[1m, civis=\E[0p,
clear=\E[H\E[J, cnorm=\E[p\E[>?6l, cr=\r,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
# + restore rmir/smir in ansi+idc to better match original ansiterm+idc,
# add alias ansiterm (report by Robert King).
#
+# 2017-05-13
+# + reformatted using hexadecimal numbers to improve readability -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.580 2017/07/01 17:56:12 tom Exp $
+ * $Id: curses.priv.h,v 1.581 2017/07/15 20:17:01 tom Exp $
*
* curses.priv.h
*
#define _nc_export_termtype2(dst,src) /* nothing */
#define _nc_import_termtype2(dst,src) /* nothing */
#define _nc_free_termtype2(t) _nc_free_termtype(t)
+/* also... */
+#define _nc_read_entry2 _nc_read_entry
#endif
#if NO_LEAKS
-ncurses6 (6.0+20170708) unstable; urgency=low
+ncurses6 (6.0+20170715) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 02 Jul 2017 10:32:53 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 12 Jul 2017 20:15:27 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
--- /dev/null
+mingw32-ncurses6: latest-debian-changelog-entry-changed-to-native
+
+mingw32-ncurses6: non-standard-dir-in-usr
+mingw32-ncurses6: file-in-unusual-dir
+
+mingw32-ncurses6: binary-without-manpage
+mingw32-ncurses6: executable-not-elf-or-script
CFLAGS = $(CC_NORMAL)
+verbose = # -v
+
CONFIG_OPTIONS = \
--disable-echo \
--disable-db-install \
dh_testdir
dh_testroot
dh_clean -k
- dh_installdirs
+ dh_installdirs $(verbose)
$(MAKE) install.libs DESTDIR=$(MINGW_TMP)
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
- dh_testroot
- dh_installchangelogs NEWS
+ dh_testroot $(verbose)
+ dh_lintian $(verbose)
+ dh_installdocs $(verbose)
+ dh_installchangelogs $(verbose) NEWS
# dh_strip
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
+ dh_compress $(verbose)
+ dh_fixperms $(verbose)
+ dh_installdeb $(verbose)
+ dh_shlibdeps $(verbose)
+ dh_gencontrol $(verbose)
+ dh_md5sums $(verbose)
+ dh_builddeb $(verbose)
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install install-stamp
-ncurses6 (6.0+20170708) unstable; urgency=low
+ncurses6 (6.0+20170715) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 02 Jul 2017 10:32:53 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 12 Jul 2017 20:15:27 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
--- /dev/null
+mingw64-ncurses6: latest-debian-changelog-entry-changed-to-native
+
+mingw64-ncurses6: non-standard-dir-in-usr
+mingw64-ncurses6: file-in-unusual-dir
+
+mingw64-ncurses6: binary-without-manpage
+mingw64-ncurses6: executable-not-elf-or-script
CFLAGS = $(CC_NORMAL)
+verbose = # -v
+
CONFIG_OPTIONS = \
--disable-echo \
--disable-db-install \
dh_testdir
dh_testroot
dh_clean -k
- dh_installdirs
+ dh_installdirs $(verbose)
$(MAKE) install.libs DESTDIR=$(MINGW_TMP)
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
- dh_testroot
- dh_installchangelogs NEWS
+ dh_testroot $(verbose)
+ dh_lintian $(verbose)
+ dh_installdocs $(verbose)
+ dh_installchangelogs $(verbose) NEWS
# dh_strip
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
+ dh_compress $(verbose)
+ dh_fixperms $(verbose)
+ dh_installdeb $(verbose)
+ dh_shlibdeps $(verbose)
+ dh_gencontrol $(verbose)
+ dh_md5sums $(verbose)
+ dh_builddeb $(verbose)
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install install-stamp
-ncurses6 (6.0+20170708) unstable; urgency=low
+ncurses6 (6.0+20170715) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 02 Jul 2017 10:32:53 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 12 Jul 2017 20:15:27 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
Package: ncurses6
Architecture: any
-Depends: ${misc:Depends}
+Depends: ${misc:Depends}, libc6 (>= 2.4)
Description: shared libraries for terminal handling
The ncurses library routines are a terminal-independent method of
updating character screens with reasonable optimization.
Package: ncursest6
Architecture: any
-Depends: ${misc:Depends}
+Depends: ${misc:Depends}, libc6 (>= 2.4)
Description: shared libraries for terminal handling
The ncurses library routines are a terminal-independent method of
updating character screens with reasonable optimization.
--- /dev/null
+# This is intentional.
+ncurses6: package-name-doesnt-match-sonames libformw6-6 libmenuw6-6 libncurses++w6-6 libncursesw6-6 libpanelw6-6 libticw6-6 libtinfow6-6
+ncurses6: binary-or-shlib-defines-rpath usr/bin/ncurses6 /usr/lib
+
+# This works around a bug in Debian's build-scripts.
+ncurses6: latest-debian-changelog-entry-changed-to-native
+
+ncurses6: hardening-no-fortify-functions usr/lib/libncurses++w6.so.6.0
+
+# This is intentional.
+ncurses6: binary-without-manpage
+ncurses6: non-dev-pkg-with-shlib-symlink
+ncurses6: embedded-library usr/lib/libtinfow6.so.6.0: ncurses
+
+ncurses6: postinst-must-call-ldconfig usr/lib/libtinfow6.so.6.0
+
+# vile: confmode
--- /dev/null
+# This is intentional.
+ncursest6: package-name-doesnt-match-sonames libformtw6-6 libmenutw6-6 libncurses++tw6-6 libncursestw6-6 libpaneltw6-6 libtictw6-6 libtinfotw6-6
+ncursest6: binary-or-shlib-defines-rpath usr/bin/ncursest6 /usr/lib
+
+# This works around a bug in Debian's build-scripts.
+ncursest6: latest-debian-changelog-entry-changed-to-native
+
+ncursest6: hardening-no-fortify-functions usr/lib/libncurses++tw6.so.6.0
+
+# This is intentional.
+ncursest6: binary-without-manpage
+ncursest6: non-dev-pkg-with-shlib-symlink
+ncursest6: embedded-library usr/lib/libtinfotw6.so.6.0: ncurses
+
+ncursest6: postinst-must-call-ldconfig usr/lib/libtinfotw6.so.6.0
+
+# vile: confmode
THREAD_DIR=$(CURDIR)/debian/ncursest$(MY_ABI)
CFLAGS = $(shell dpkg-buildflags --get CFLAGS) $(CC_NORMAL)
+CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS)
CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS)
LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
rm -f $(PACKAGES.indep:%=install-%-stamp)
dh_testdir
dh_testroot
+ dh_lintian $(verbose) $(PACKAGES.arch:%=-p%)
dh_installdocs $(verbose) $(PACKAGES.indep:%=-p%)
dh_installman $(verbose) $(PACKAGES.indep:%=-p%)
dh_installexamples $(verbose) $(PACKAGES.indep:%=-p%)
rm -f $(PACKAGES.arch:%=install-%-stamp)
dh_testdir
dh_testroot
+ dh_lintian $(verbose) $(PACKAGES.arch:%=-p%)
+ dh_installdocs $(verbose) $(PACKAGES.arch:%=-p%)
dh_installchangelogs $(verbose) $(PACKAGES.arch:%=-p%) NEWS
dh_strip $(verbose) $(PACKAGES.arch:%=-p%)
dh_compress $(verbose) $(PACKAGES.arch:%=-p%)
-; $Id: mingw-ncurses.nsi,v 1.219 2017/07/02 14:32:53 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.220 2017/07/13 00:15:27 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "0"\r
!define VERSION_YYYY "2017"\r
-!define VERSION_MMDD "0708"\r
+!define VERSION_MMDD "0715"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.0
-Release: 20170708
+Release: 20170715
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
-Release: 20170708
+Release: 20170715
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
#include "termsort.c" /* this C file is generated */
#include <parametrized.h> /* so is this */
-MODULE_ID("$Id: dump_entry.c,v 1.155 2017/07/08 18:34:53 tom Exp $")
+MODULE_ID("$Id: dump_entry.c,v 1.167 2017/07/15 21:22:01 tom Exp $")
#define DISCARD(string) string = ABSENT_STRING
#define PRINTF (void) printf
int ch = UChar(src[step + n]);
if (ch == '%') {
int need = op_length(src, step + n);
- if ((n + need) > size)
+ if ((n + need) > size) {
mark = n;
+ }
break;
}
}
return result;
}
+typedef enum {
+ wOFF = 0
+ ,w1ST = 1
+ ,w2ND = 2
+ ,wEND = 4
+ ,wERR = 8
+} WRAPMODE;
+
+#define wrap_1ST(mode) ((mode)&w1ST)
+#define wrap_END(mode) ((mode)&wEND)
+#define wrap_ERR(mode) ((mode)&wERR)
+
static void
-wrap_concat(const char *src)
+wrap_concat(const char *src, int need, unsigned mode)
{
- int need = (int) strlen(src);
int gaps = (int) strlen(separator);
int want = gaps + need;
did_wrap = (width <= 0);
- if (column > indent
+ if (wrap_1ST(mode)
+ && column > indent
&& column + want > width) {
force_wrap();
}
- if (wrapped &&
+ if ((wrap_END(mode) && !wrap_ERR(mode)) &&
+ wrapped &&
(width >= 0) &&
- (column + want) > width &&
- (!TcOutput() || strncmp(src, "..", 2))) {
+ (column + want) > width) {
int step = 0;
int used = width > WRAPPED ? width : WRAPPED;
int size;
if (TcOutput())
trailer = "\\\n\t ";
- if ((p = strchr(fill, '=')) != 0) {
+ if (!TcOutput() && (p = strchr(fill, '=')) != 0) {
base = (int) (p + 1 - fill);
if (base > 8)
base = 8;
_nc_SPRINTF(align, _nc_SLIMIT(align) "%*s", base, " ");
+ } else if (column > 8) {
+ base = column - 8;
+ if (base > 8)
+ base = 8;
+ _nc_SPRINTF(align, _nc_SLIMIT(align) "%*s", base, " ");
} else {
align[base] = '\0';
}
/* "pretty" overrides wrapping if it already split the line */
if (!pretty || strchr(fill, '\n') == 0) {
+ int tag = 0;
+
+ if (TcOutput() && outbuf.used && !wrap_1ST(mode)) {
+ tag = 3;
+ }
+
while ((column + (need + gaps)) > used) {
- size = used;
+ size = used - tag;
if (step) {
strcpy_DYN(&outbuf, align);
size -= base;
if (need > 0) {
force_wrap();
did_wrap = TRUE;
+ tag = 0;
}
}
}
strcpy_DYN(&outbuf, align);
strcpy_DYN(&outbuf, fill + step);
}
- strcpy_DYN(&outbuf, separator);
+ if (wrap_END(mode))
+ strcpy_DYN(&outbuf, separator);
trailer = my_t;
force_wrap();
free(fill);
} else {
strcpy_DYN(&outbuf, src);
- strcpy_DYN(&outbuf, separator);
- column += need;
+ if (wrap_END(mode))
+ strcpy_DYN(&outbuf, separator);
+ column += (int) strlen(src);
}
}
+static void
+wrap_concat1(const char *src)
+{
+ int need = (int) strlen(src);
+ wrap_concat(src, need, w1ST | wEND);
+}
+
+static void
+wrap_concat3(const char *name, const char *eqls, const char *value)
+{
+ int nlen = (int) strlen(name);
+ int elen = (int) strlen(eqls);
+ int vlen = (int) strlen(value);
+
+ wrap_concat(name, nlen + elen + vlen, w1ST);
+ wrap_concat(eqls, elen + vlen, w2ND);
+ wrap_concat(value, vlen, wEND);
+}
+
#define IGNORE_SEP_TRAIL(first,last,sep_trail) \
if ((size_t)(last - first) > sizeof(sep_trail)-1 \
&& !strncmp(first, sep_trail, sizeof(sep_trail)-1)) \
PredIdx num_strings = 0;
bool outcount = 0;
-#define WRAP_CONCAT1(s) wrap_concat(s); outcount = TRUE
-#define WRAP_CONCAT2(a,b) wrap_concat(a); WRAP_CONCAT1(b)
-#define WRAP_CONCAT3(a,b,c) wrap_concat(a); WRAP_CONCAT2(b,c)
+#define WRAP_CONCAT1(s) wrap_concat1(s); outcount = TRUE
#define WRAP_CONCAT WRAP_CONCAT1(buffer)
len = 12; /* terminfo file-header */
continue;
} else {
char *s = srccap, *d = buffer;
- WRAP_CONCAT3("..", name, "=");
+ int need = 3 + (int) strlen(name);
while ((*d = *s++) != 0) {
if ((d - buffer + 1) >= (int) sizeof(buffer)) {
fprintf(stderr,
*++d = *s++;
}
d++;
+ *d = '\0';
}
- WRAP_CONCAT;
+ need += (int) (d - buffer);
+ wrap_concat("..", need, w1ST | wERR);
+ need -= 2;
+ wrap_concat(name, need, wOFF | wERR);
+ need -= (int) strlen(name);
+ wrap_concat("=", need, w2ND | wERR);
+ need -= 1;
+ wrap_concat(buffer, need, wEND | wERR);
+ outcount = TRUE;
}
} else {
- WRAP_CONCAT3(name, "=", cv);
+ wrap_concat3(name, "=", cv);
}
len += (int) strlen(capability) + 1;
} else {
char numbuf[80];
if (quickdump & 1) {
if (outbuf.used)
- wrap_concat("\n");
- wrap_concat("hex:");
+ wrap_concat1("\n");
+ wrap_concat1("hex:");
for (n = 0; n < offset; ++n) {
_nc_SPRINTF(numbuf, _nc_SLIMIT(sizeof(numbuf))
"%02X", UChar(bigbuf[n]));
- wrap_concat(numbuf);
+ wrap_concat1(numbuf);
}
}
if (quickdump & 2) {
{0, 0};
int value = 0;
if (outbuf.used)
- wrap_concat("\n");
- wrap_concat("b64:");
+ wrap_concat1("\n");
+ wrap_concat1("b64:");
for (n = 0; n < offset; ++n) {
encode_b64(numbuf, bigbuf, n, &value);
- wrap_concat(numbuf);
+ wrap_concat1(numbuf);
}
switch (n % 3) {
case 0:
break;
case 1:
encode_b64(numbuf, padding, 1, &value);
- wrap_concat(numbuf);
- wrap_concat("==");
+ wrap_concat1(numbuf);
+ wrap_concat1("==");
break;
case 2:
encode_b64(numbuf, padding, 1, &value);
- wrap_concat(numbuf);
- wrap_concat("=");
+ wrap_concat1(numbuf);
+ wrap_concat1("=");
break;
}
}
trim_trailing();
_nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
"%s%s", infodump ? "use=" : "tc=", name);
- wrap_concat(buffer);
+ wrap_concat1(buffer);
}
int
* Author: Thomas E. Dickey 1997-on *
****************************************************************************/
/*
- * $Id: progs.priv.h,v 1.43 2017/04/06 23:02:26 tom Exp $
+ * $Id: progs.priv.h,v 1.44 2017/07/15 18:26:07 tom Exp $
*
* progs.priv.h
*
#if NCURSES_EXT_NUMBERS
#else
#define _nc_free_termtype2(t) _nc_free_termtype(t)
+#define _nc_read_entry2(n,f,t) _nc_read_entry(n,f,t)
#endif
#endif /* PROGS_PRIV_H */
#include <parametrized.h>
#include <transform.h>
-MODULE_ID("$Id: tic.c,v 1.232 2017/04/13 09:12:05 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.233 2017/07/15 17:40:19 tom Exp $")
#define STDIN_NAME "<stdin>"
if (len > (infodump ? MAX_TERMINFO_LENGTH : MAX_TERMCAP_LENGTH))
(void) fprintf(stderr,
- "warning: resolved %s entry is %d bytes long\n",
+ "%s: resolved %s entry is %d bytes long\n",
+ _nc_progname,
_nc_first_name(qp->tterm.term_names),
len);
}
* authorization. *
****************************************************************************/
/*
- * $Id: picsmap.c,v 1.50 2017/06/11 00:37:27 tom Exp $
+ * $Id: picsmap.c,v 1.52 2017/07/15 22:25:06 tom Exp $
*
* Author: Thomas E. Dickey
*
if (pic_x <= 0 || pic_y <= 0)
goto finish;
- sprintf(cmd, "convert -resize %dx%d\\! -thumbnail %dx \"%s\" txt:-",
+ sprintf(cmd, "convert " "-resize %dx%d\\! " "-thumbnail %dx \"%s\" "
+ "-define txt:compliance=SVG txt:-",
pic_x, pic_y, width, filename);
if ((pp = popen(cmd, "r")) != 0) {
}
} else {
/* subsequent lines begin "col,row: (r,g,b,a) #RGB" */
- int r, g, b;
+ int r, g, b, nocolor;
unsigned check;
int which, c;
- char *s = strchr(buffer, '#');
+ char *t;
+ char *s = t = strchr(buffer, '#');
if (s != 0) {
/* after the "#RGB", there are differences - just ignore */
while (*s != '\0' && !isspace(UChar(*s)))
*++s = '\0';
}
if (match_c(buffer,
- "%d,%d: (%d,%d,%d,255) #%x ",
+ "%d,%d: (%d,%d,%d,%d) #%x ",
&col, &row,
- &r, &g, &b,
+ &r, &g, &b, &nocolor,
&check)) {
+ if ((s - t) > 8) /* 6 hex digits vs 8 */
+ check /= 256;
if (r > 255 ||
g > 255 ||
b > 255 ||