Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package chafa for openSUSE:Factory checked in at 2021-06-07 22:45:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chafa (Old) and /work/SRC/openSUSE:Factory/.chafa.new.32437 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chafa" Mon Jun 7 22:45:01 2021 rev:8 rq:898181 version:1.6.1 Changes: -------- --- /work/SRC/openSUSE:Factory/chafa/chafa.changes 2021-01-15 19:47:27.954132375 +0100 +++ /work/SRC/openSUSE:Factory/.chafa.new.32437/chafa.changes 2021-06-07 22:45:29.700687218 +0200 @@ -1,0 +2,14 @@ +Mon Jun 7 18:30:46 UTC 2021 - Michael Vetter <[email protected]> + +- Update to 1.6.1: + * Add NOCONFIGURE variable to autogen.sh to skip configure + Bug fixes: + * #50 SIGBUS while loading huge GIFs + * #52 Produces small glitches in output with some images + * #54 Haiku port fails on 32bit + * [unfiled] Exclude RTL code points that could break the output. + * [unfiled] Apple Terminal lacks truecolor support, so make it + default to 256 colors + * [unfiled] Fix typo affecting middle dot symbol. + +------------------------------------------------------------------- Old: ---- chafa-1.6.0.tar.xz New: ---- chafa-1.6.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chafa.spec ++++++ --- /var/tmp/diff_new_pack.xpT21q/_old 2021-06-07 22:45:30.112687914 +0200 +++ /var/tmp/diff_new_pack.xpT21q/_new 2021-06-07 22:45:30.116687921 +0200 @@ -17,7 +17,7 @@ Name: chafa -Version: 1.6.0 +Version: 1.6.1 Release: 0 Summary: Image-to-text converter for terminal License: LGPL-3.0-or-later @@ -91,8 +91,7 @@ %files -n libchafa0 %license COPYING.LESSER -%{_libdir}/lib%{name}.so.0 -%{_libdir}/lib%{name}.so.0.5.0 +%{_libdir}/lib%{name}.so.0* %files devel %license COPYING.LESSER ++++++ chafa-1.6.0.tar.xz -> chafa-1.6.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/Makefile.in new/chafa-1.6.1/Makefile.in --- old/chafa-1.6.0/Makefile.in 2021-01-15 02:07:54.000000000 +0100 +++ new/chafa-1.6.1/Makefile.in 2021-06-03 22:43:33.000000000 +0200 @@ -193,7 +193,7 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/chafa.pc.in \ $(srcdir)/config.h.in AUTHORS COPYING COPYING.LESSER INSTALL \ NEWS README TODO ar-lib compile config.guess config.sub \ - install-sh ltmain.sh missing + depcomp install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/NEWS new/chafa-1.6.1/NEWS --- old/chafa-1.6.0/NEWS 2021-01-15 02:02:49.000000000 +0100 +++ new/chafa-1.6.1/NEWS 2021-06-03 22:41:13.000000000 +0200 @@ -1,6 +1,23 @@ Chafa releases ============== +1.6.1 (2021-06-03) +------------------ + +This is a bugfix release. + +* Add NOCONFIGURE variable to autogen.sh to skip configure (Biswapriyo Nath). + +* Bug fixes: + github#50 SIGBUS while loading huge GIFs (reported by Grzegorz Koperwas). + github#52 Produces small glitches in output with some images (reported by + Sami Farin). + github#54 Haiku port fails on 32bit (Luc Schrijvers). + [unfiled] Exclude RTL code points that could break the output. + [unfiled] Apple Terminal lacks truecolor support, so make it default to 256 + colors (reported by Behdad Esfahbod). + [unfiled] Fix typo affecting middle dot symbol. + 1.6.0 (2021-01-15) ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/README.md new/chafa-1.6.1/README.md --- old/chafa-1.6.0/README.md 2020-12-09 22:22:03.000000000 +0100 +++ new/chafa-1.6.1/README.md 2021-01-15 02:53:58.000000000 +0100 @@ -11,7 +11,7 @@ <a href="https://travis-ci.com/hpjansson/chafa/branches" rel="nofollow"> <img src="https://img.shields.io/travis/com/hpjansson/chafa/master.svg?label=master&style=for-the-badge" alt="Master Build Status" />   -<img src="https://img.shields.io/travis/com/hpjansson/chafa/1.4.svg?label=1.4&style=for-the-badge" alt="1.4 Build Status" /> +<img src="https://img.shields.io/travis/com/hpjansson/chafa/1.6.svg?label=1.6&style=for-the-badge" alt="1.6 Build Status" /> </a>   <a href="https://hpjansson.org/chafa/download/"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/autogen.sh new/chafa-1.6.1/autogen.sh --- old/chafa-1.6.0/autogen.sh 2020-07-18 03:02:36.000000000 +0200 +++ new/chafa-1.6.1/autogen.sh 2021-06-03 22:36:31.000000000 +0200 @@ -77,7 +77,7 @@ exit 1 } -if test -z "$*"; then +if test x$NOCONFIGURE = x && test -z "$*"; then ${MY_ECHO} ${MY_ECHO} "I am going to run ./configure with no arguments - if you wish " ${MY_ECHO} "to pass any to it, please specify them on the $0 command line." @@ -102,4 +102,13 @@ autoconf cd $ORIGDIR -$srcdir/configure --enable-maintainer-mode "$@" + +conf_flags="--enable-maintainer-mode" + +if test x$NOCONFIGURE = x; then + ${MY_ECHO} Running $srcdir/configure $conf_flags "$@" ... + $srcdir/configure $conf_flags "$@" \ + && ${MY_ECHO} Now type \`make\' to compile $PROJECT || exit 1 +else + ${MY_ECHO} Skipping configure process. +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/chafa/Makefile.am new/chafa-1.6.1/chafa/Makefile.am --- old/chafa-1.6.0/chafa/Makefile.am 2021-01-15 02:02:49.000000000 +0100 +++ new/chafa-1.6.1/chafa/Makefile.am 2021-06-03 22:38:20.000000000 +0200 @@ -9,7 +9,7 @@ noinst_HEADERS = libchafa_la_CFLAGS = $(LIBCHAFA_CFLAGS) $(GLIB_CFLAGS) -DCHAFA_COMPILATION -libchafa_la_LDFLAGS = $(LIBCHAFA_LDFLAGS) -version-info 5:0:5 +libchafa_la_LDFLAGS = $(LIBCHAFA_LDFLAGS) -version-info 5:1:5 libchafa_la_LIBADD = $(GLIB_LIBS) internal/libchafa-internal.la -lm libchafa_la_SOURCES = \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/chafa/Makefile.in new/chafa-1.6.1/chafa/Makefile.in --- old/chafa-1.6.0/chafa/Makefile.in 2021-01-15 02:07:54.000000000 +0100 +++ new/chafa-1.6.1/chafa/Makefile.in 2021-06-03 22:43:33.000000000 +0200 @@ -425,7 +425,7 @@ # produce documentation. noinst_HEADERS = chafa-term-seq-doc.h chafa-term-seq-doc-in.h libchafa_la_CFLAGS = $(LIBCHAFA_CFLAGS) $(GLIB_CFLAGS) -DCHAFA_COMPILATION -libchafa_la_LDFLAGS = $(LIBCHAFA_LDFLAGS) -version-info 5:0:5 +libchafa_la_LDFLAGS = $(LIBCHAFA_LDFLAGS) -version-info 5:1:5 libchafa_la_LIBADD = $(GLIB_LIBS) internal/libchafa-internal.la -lm libchafa_la_SOURCES = \ chafa-canvas.c \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/chafa/chafa-canvas.c new/chafa-1.6.1/chafa/chafa-canvas.c --- old/chafa-1.6.0/chafa/chafa-canvas.c 2021-01-11 03:01:11.000000000 +0100 +++ new/chafa-1.6.1/chafa/chafa-canvas.c 2021-06-03 22:37:43.000000000 +0200 @@ -131,7 +131,7 @@ /* colors must point to an array of two elements */ static guint64 -block_to_bitmap (const ChafaPixel *block, ChafaColor *colors) +block_to_bitmap (const ChafaPixel *block, ChafaColorPair *color_pair) { guint64 bitmap = 0; gint i; @@ -143,8 +143,8 @@ bitmap <<= 1; /* FIXME: What to do about alpha? */ - error [0] = chafa_color_diff_fast (&block [i].col, &colors [0]); - error [1] = chafa_color_diff_fast (&block [i].col, &colors [1]); + error [0] = chafa_color_diff_fast (&block [i].col, &color_pair->colors [0]); + error [1] = chafa_color_diff_fast (&block [i].col, &color_pair->colors [1]); if (error [0] < error [1]) bitmap |= 1; @@ -311,7 +311,7 @@ /* colors_out must point to an array of two elements */ static void -work_cell_get_contrasting_color_pair (WorkCell *wcell, ChafaColor *colors_out) +work_cell_get_contrasting_color_pair (WorkCell *wcell, ChafaColorPair *color_pair_out) { const guint8 *sorted_pixels; @@ -319,8 +319,8 @@ /* Choose two colors by median cut */ - colors_out [0] = wcell->pixels [sorted_pixels [CHAFA_SYMBOL_N_PIXELS / 4]].col; - colors_out [1] = wcell->pixels [sorted_pixels [(CHAFA_SYMBOL_N_PIXELS * 3) / 4]].col; + color_pair_out->colors [0] = wcell->pixels [sorted_pixels [CHAFA_SYMBOL_N_PIXELS / 4]].col; + color_pair_out->colors [1] = wcell->pixels [sorted_pixels [(CHAFA_SYMBOL_N_PIXELS * 3) / 4]].col; } static const ChafaPixel * @@ -670,7 +670,7 @@ ChafaColor *bg_col_out, gint *error_out) { - ChafaColor color_pair [2]; + ChafaColorPair color_pair; guint64 bitmap; ChafaCandidate candidates [N_CANDIDATES_MAX]; gint n_candidates = 0; @@ -683,15 +683,15 @@ if (canvas->config.canvas_mode == CHAFA_CANVAS_MODE_FGBG || canvas->config.canvas_mode == CHAFA_CANVAS_MODE_FGBG_BGFG) { - color_pair [0] = canvas->fg_color; - color_pair [1] = canvas->bg_color; + color_pair.colors [0] = canvas->fg_color; + color_pair.colors [1] = canvas->bg_color; } else { - work_cell_get_contrasting_color_pair (wcell, color_pair); + work_cell_get_contrasting_color_pair (wcell, &color_pair); } - bitmap = block_to_bitmap (wcell->pixels, color_pair); + bitmap = block_to_bitmap (wcell->pixels, &color_pair); n_candidates = CLAMP (canvas->work_factor_int, 1, N_CANDIDATES_MAX); chafa_symbol_map_find_candidates (&canvas->config.symbol_map, @@ -738,7 +738,7 @@ gint *error_a_out, gint *error_b_out) { - ChafaColor color_pair [2]; + ChafaColorPair color_pair; guint64 bitmaps [2]; ChafaCandidate candidates [N_CANDIDATES_MAX]; gint n_candidates = 0; @@ -751,22 +751,22 @@ if (canvas->config.canvas_mode == CHAFA_CANVAS_MODE_FGBG || canvas->config.canvas_mode == CHAFA_CANVAS_MODE_FGBG_BGFG) { - color_pair [0] = canvas->fg_color; - color_pair [1] = canvas->bg_color; + color_pair.colors [0] = canvas->fg_color; + color_pair.colors [1] = canvas->bg_color; } else { - ChafaColor color_pair_part [2] [2]; + ChafaColorPair color_pair_part [2]; - work_cell_get_contrasting_color_pair (wcell_a, color_pair_part [0]); - work_cell_get_contrasting_color_pair (wcell_b, color_pair_part [1]); + work_cell_get_contrasting_color_pair (wcell_a, &color_pair_part [0]); + work_cell_get_contrasting_color_pair (wcell_b, &color_pair_part [1]); - color_pair [0] = chafa_color_average_2 (color_pair_part [0] [0], color_pair_part [1] [0]); - color_pair [1] = chafa_color_average_2 (color_pair_part [0] [1], color_pair_part [1] [1]); + color_pair.colors [0] = chafa_color_average_2 (color_pair_part [0].colors [0], color_pair_part [1].colors [0]); + color_pair.colors [1] = chafa_color_average_2 (color_pair_part [0].colors [1], color_pair_part [1].colors [1]); } - bitmaps [0] = block_to_bitmap (wcell_a->pixels, color_pair); - bitmaps [1] = block_to_bitmap (wcell_b->pixels, color_pair); + bitmaps [0] = block_to_bitmap (wcell_a->pixels, &color_pair); + bitmaps [1] = block_to_bitmap (wcell_b->pixels, &color_pair); n_candidates = CLAMP (canvas->work_factor_int, 1, N_CANDIDATES_MAX); chafa_symbol_map_find_wide_candidates (&canvas->config.symbol_map, @@ -1542,7 +1542,7 @@ * @canvas: The canvas to generate a printable representation of * @term_info: Terminal to format for, or %NULL for fallback * - * Builds a UTF-8 string of terminal contorl sequences and symbols + * Builds a UTF-8 string of terminal control sequences and symbols * representing the canvas' current contents. This can e.g. be printed * to a terminal. The exact choice of escape sequences and symbols, * dimensions, etc. is determined by the configuration assigned to diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/chafa/chafa-symbol-map.c new/chafa-1.6.1/chafa/chafa-symbol-map.c --- old/chafa-1.6.0/chafa/chafa-symbol-map.c 2021-01-11 03:01:11.000000000 +0100 +++ new/chafa-1.6.1/chafa/chafa-symbol-map.c 2021-06-03 22:37:43.000000000 +0200 @@ -450,6 +450,7 @@ char_is_selected (GArray *selectors, ChafaSymbolTags tags, gunichar c) { ChafaSymbolTags auto_exclude_tags = CHAFA_SYMBOL_TAG_BAD; + GUnicodeScript script; gboolean is_selected = FALSE; gint i; @@ -458,6 +459,23 @@ || c == '\t') return FALSE; + /* We don't support RTL, so RTL characters will break the output. + * + * Ideally we'd exclude the R and AL bidi classes, but unfortunately we don't + * have a convenient API available to us to determine the bidi class of a + * character. So we just exclude a few scripts and hope for the best. + * + * A better implementation could extract directionality from the Unicode DB: + * + * https://www.unicode.org/reports/tr9/#Bidirectional_Character_Types + * https://www.unicode.org/Public/UCD/latest/ucd/extracted/DerivedBidiClass.txt */ + script = g_unichar_get_script (c); + if (script == G_UNICODE_SCRIPT_ARABIC + || script == G_UNICODE_SCRIPT_HEBREW + || script == G_UNICODE_SCRIPT_THAANA + || script == G_UNICODE_SCRIPT_SYRIAC) + return FALSE; + for (i = 0; i < (gint) selectors->len; i++) { const Selector *selector = &g_array_index (selectors, Selector, i); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/chafa/chafa-term-db.c new/chafa-1.6.1/chafa/chafa-term-db.c --- old/chafa-1.6.0/chafa/chafa-term-db.c 2021-01-11 03:01:11.000000000 +0100 +++ new/chafa-1.6.1/chafa/chafa-term-db.c 2021-06-03 22:36:31.000000000 +0200 @@ -208,6 +208,7 @@ const gchar *term; const gchar *colorterm; const gchar *vte_version; + const gchar *term_program; const gchar *tmux; const SeqStr **color_seq_list = color_256_list; const SeqStr *gfx_seqs = NULL; @@ -224,6 +225,9 @@ vte_version = g_environ_getenv (envp, "VTE_VERSION"); if (!vte_version) vte_version = ""; + term_program = g_environ_getenv (envp, "TERM_PROGRAM"); + if (!term_program) term_program = ""; + tmux = g_environ_getenv (envp, "TMUX"); if (!tmux) tmux = ""; @@ -254,6 +258,10 @@ || !strcmp (term, "xterm-kitty")) color_seq_list = color_direct_list; + /* Apple Terminal sets TERM=xterm-256color, and does not support truecolor */ + if (!g_ascii_strcasecmp (term_program, "Apple_Terminal")) + color_seq_list = color_256_list; + /* mlterm's truecolor support seems to be broken; it looks like a color * allocation issue. This affects character cells, but not sixels. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/chafa/internal/chafa-popcnt.c new/chafa-1.6.1/chafa/internal/chafa-popcnt.c --- old/chafa-1.6.0/chafa/internal/chafa-popcnt.c 2021-01-11 03:01:11.000000000 +0100 +++ new/chafa-1.6.1/chafa/internal/chafa-popcnt.c 2021-06-03 22:36:31.000000000 +0200 @@ -29,7 +29,7 @@ #if defined(HAVE_POPCNT64_INTRINSICS) return (gint) _mm_popcnt_u64 (v); #else /* HAVE_POPCNT32_INTRINSICS */ - __int32_t* w = (__int32_t*)&v; + const guint32 *w = (const guint32 *) &v; return (gint) _mm_popcnt_u32(w[0]) + _mm_popcnt_u32(w[1]); #endif } @@ -42,7 +42,7 @@ #if defined(HAVE_POPCNT64_INTRINSICS) *(vc++) = _mm_popcnt_u64 (*(vv++)); #else /* HAVE_POPCNT32_INTRINSICS */ - __int32_t* w = (__int32_t*)vv; + const guint32 *w = (const guint32 *)vv; *(vc++) = _mm_popcnt_u32(w[0]) + _mm_popcnt_u32(w[1]); vv++; #endif @@ -62,13 +62,16 @@ *(vc++) = _mm_popcnt_u64 (a ^ *(vb++)); } - while (n--) { + while (n--) + { *(vc++) = _mm_popcnt_u64 (a ^ *(vb++)); } #else /* HAVE_POPCNT32_INTRINSICS */ - __int32_t* aa = (__int32_t*)&a; - __int32_t* wb = (__int32_t*)vb; - while (n--) { + const guint32 *aa = (const guint32 *) &a; + const guint32 *wb = (const guint32 *) vb; + + while (n--) + { *(vc++) = _mm_popcnt_u32 (aa [0] ^ wb [0]) + _mm_popcnt_u32 (aa [1] ^ wb [1]); wb += 2; } @@ -93,14 +96,17 @@ *(vc++) += _mm_popcnt_u64 (a [1] ^ *(vb++)); } - while (n--) { + while (n--) + { *vc = _mm_popcnt_u64 (a [0] ^ *(vb++)); *(vc++) += _mm_popcnt_u64 (a [1] ^ *(vb++)); } #else /* HAVE_POPCNT32_INTRINSICS */ - guint32 *aa = (const guint32 *) a; - guint32 *wb = (guint32 *) vb; - while (n--) { + const guint32 *aa = (const guint32 *) a; + const guint32 *wb = (const guint32 *) vb; + + while (n--) + { *(vc++) = _mm_popcnt_u32 (aa [0] ^ wb [0]) + _mm_popcnt_u32 (aa [1] ^ wb [1]) + _mm_popcnt_u32 (aa [2] ^ wb [2]) + _mm_popcnt_u32 (aa [3] ^ wb [3]); wb += 4; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/chafa/internal/chafa-symbols.c new/chafa-1.6.1/chafa/internal/chafa-symbols.c --- old/chafa-1.6.0/chafa/internal/chafa-symbols.c 2021-01-11 03:01:11.000000000 +0100 +++ new/chafa-1.6.1/chafa/internal/chafa-symbols.c 2021-06-03 22:37:43.000000000 +0200 @@ -87,6 +87,11 @@ static const UnicharRange meta_ranges [] = { + /* Arabic tatweel -- RTL but it's a modifier and not formally part + * of a script, so can't simply be excluded on that basis in + * ChafaSymbolMap::char_is_selected() */ + { 0x0640, 0x0640 }, + /* Ideographic description characters. These convert poorly to our * internal format. */ { 0x2ff0, 0x2fff }, @@ -1690,7 +1695,8 @@ " " }, { - CHAFA_SYMBOL_TAG_DOT, + /* Has an emoji variant that may show up unbidden */ + CHAFA_SYMBOL_TAG_DOT | CHAFA_SYMBOL_TAG_AMBIGUOUS, 0x25aa, /* Black small square */ " " " " @@ -1716,7 +1722,8 @@ }, { /* Black right-pointing triangle */ - CHAFA_SYMBOL_TAG_GEOMETRIC, + /* Has an emoji variant that may show up unbidden */ + CHAFA_SYMBOL_TAG_GEOMETRIC | CHAFA_SYMBOL_TAG_AMBIGUOUS, 0x25b6, " X " " XXX " @@ -1742,7 +1749,8 @@ }, { /* Black left-pointing triangle */ - CHAFA_SYMBOL_TAG_GEOMETRIC, + /* Has an emoji variant that may show up unbidden */ + CHAFA_SYMBOL_TAG_GEOMETRIC | CHAFA_SYMBOL_TAG_AMBIGUOUS, 0x25c0, " X " " XXX " @@ -1755,7 +1763,8 @@ }, { /* Black diamond */ - CHAFA_SYMBOL_TAG_GEOMETRIC, + /* Depending on font, may exceed cell boundaries on VTE */ + CHAFA_SYMBOL_TAG_GEOMETRIC | CHAFA_SYMBOL_TAG_AMBIGUOUS, 0x25c6, " " " XX " @@ -1833,7 +1842,9 @@ }, { /* Black Medium Square */ - CHAFA_SYMBOL_TAG_GEOMETRIC, + /* Has en emoji variant that may show up unbidden. See: + * https://github.com/hpjansson/chafa/issues/52 */ + CHAFA_SYMBOL_TAG_GEOMETRIC | CHAFA_SYMBOL_TAG_AMBIGUOUS, 0x25fc, " " " " @@ -1876,7 +1887,7 @@ " " " " " " - " XX " + " XX " " XX " " " " " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/configure new/chafa-1.6.1/configure --- old/chafa-1.6.0/configure 2021-01-15 02:07:55.000000000 +0100 +++ new/chafa-1.6.1/configure 2021-06-03 22:43:33.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for chafa 1.6.0. +# Generated by GNU Autoconf 2.69 for chafa 1.6.1. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='chafa' PACKAGE_TARNAME='chafa' -PACKAGE_VERSION='1.6.0' -PACKAGE_STRING='chafa 1.6.0' +PACKAGE_VERSION='1.6.1' +PACKAGE_STRING='chafa 1.6.1' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1391,7 +1391,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures chafa 1.6.0 to adapt to many kinds of systems. +\`configure' configures chafa 1.6.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1461,7 +1461,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of chafa 1.6.0:";; + short | recursive ) echo "Configuration of chafa 1.6.1:";; esac cat <<\_ACEOF @@ -1603,7 +1603,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -chafa configure 1.6.0 +chafa configure 1.6.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1972,7 +1972,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by chafa $as_me 1.6.0, which was +It was created by chafa $as_me 1.6.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2835,7 +2835,7 @@ # Define the identity of the package. PACKAGE='chafa' - VERSION='1.6.0' + VERSION='1.6.1' cat >>confdefs.h <<_ACEOF @@ -2937,8 +2937,8 @@ CHAFA_MAJOR_VERSION=1 CHAFA_MINOR_VERSION=6 -CHAFA_MICRO_VERSION=0 -CHAFA_VERSION=1.6.0 +CHAFA_MICRO_VERSION=1 +CHAFA_VERSION=1.6.1 @@ -2952,7 +2952,7 @@ $as_echo "#define CHAFA_MINOR_VERSION 6" >>confdefs.h -$as_echo "#define CHAFA_MICRO_VERSION 0" >>confdefs.h +$as_echo "#define CHAFA_MICRO_VERSION 1" >>confdefs.h cat >>confdefs.h <<_ACEOF @@ -15459,7 +15459,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by chafa $as_me 1.6.0, which was +This file was extended by chafa $as_me 1.6.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15525,7 +15525,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -chafa config.status 1.6.0 +chafa config.status 1.6.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/configure.ac new/chafa-1.6.1/configure.ac --- old/chafa-1.6.0/configure.ac 2021-01-15 02:02:49.000000000 +0100 +++ new/chafa-1.6.1/configure.ac 2021-06-03 22:43:21.000000000 +0200 @@ -6,7 +6,7 @@ m4_define([chafa_major_version], [1]) m4_define([chafa_minor_version], [6]) -m4_define([chafa_micro_version], [0]) +m4_define([chafa_micro_version], [1]) m4_define([chafa_version], [chafa_major_version.chafa_minor_version.chafa_micro_version]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/docs/chafa.1 new/chafa-1.6.1/docs/chafa.1 --- old/chafa-1.6.0/docs/chafa.1 2021-01-15 02:08:18.000000000 +0100 +++ new/chafa-1.6.1/docs/chafa.1 2021-06-03 22:41:47.000000000 +0200 @@ -2,7 +2,7 @@ .\" Title: chafa .\" Author: Hans Petter Jansson .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 01/15/2021 +.\" Date: 06/03/2021 .\" Manual: User Commands .\" Source: chafa .\" Language: English diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/docs/html/chafa-ChafaCanvas.html new/chafa-1.6.1/docs/html/chafa-ChafaCanvas.html --- old/chafa-1.6.0/docs/html/chafa-ChafaCanvas.html 2021-01-15 02:08:28.000000000 +0100 +++ new/chafa-1.6.1/docs/html/chafa-ChafaCanvas.html 2021-06-03 22:45:46.000000000 +0200 @@ -333,7 +333,7 @@ <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Strings.html#GString"><span class="returnvalue">GString</span></a>??* chafa_canvas_print (<em class="parameter"><code><a class="link" href="chafa-ChafaCanvas.html#ChafaCanvas" title="ChafaCanvas"><span class="type">ChafaCanvas</span></a> *canvas</code></em>, <em class="parameter"><code><a class="link" href="chafa-ChafaTermInfo.html#ChafaTermInfo" title="ChafaTermInfo"><span class="type">ChafaTermInfo</span></a> *term_info</code></em>);</pre> -<p>Builds a UTF-8 string of terminal contorl sequences and symbols +<p>Builds a UTF-8 string of terminal control sequences and symbols representing the canvas' current contents. This can e.g. be printed to a terminal. The exact choice of escape sequences and symbols, dimensions, etc. is determined by the configuration assigned to diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/libnsgif/libnsgif.c new/chafa-1.6.1/libnsgif/libnsgif.c --- old/chafa-1.6.0/libnsgif/libnsgif.c 2020-07-18 03:02:36.000000000 +0200 +++ new/chafa-1.6.1/libnsgif/libnsgif.c 2021-02-19 18:13:24.000000000 +0100 @@ -123,8 +123,8 @@ gif_initialise_frame_extensions(gif_animation *gif, const int frame) { const unsigned char *gif_data, *gif_end; - int gif_bytes; - unsigned int block_size; + ssize_t gif_bytes; + ssize_t block_size; /* Get our buffer position etc. */ gif_data = (const unsigned char *)(gif->gif_data + gif->buffer_position); @@ -255,10 +255,10 @@ gif_frame *temp_buf; const unsigned char *gif_data, *gif_end; - int gif_bytes; + ssize_t gif_bytes; unsigned int flags = 0; unsigned int width, height, offset_x, offset_y; - unsigned int block_size, colour_table_size; + ssize_t block_size, colour_table_size; bool first_image = true; gif_result return_value; bool premature_eof = false; @@ -287,9 +287,8 @@ /* We could theoretically get some junk data that gives us millions of * frames, so we ensure that we don't have a silly number */ - if (frame > 4096) { + if (frame > 262143) return GIF_FRAME_DATA_ERROR; - } /* Get some memory to store our pointers in etc. */ if ((int)gif->frame_holders <= frame) { @@ -435,7 +434,7 @@ if (gif_bytes < 1) return GIF_INSUFFICIENT_FRAME_DATA; block_size = gif_data[0] + 1; /* Check if the frame data runs off the end of the file */ - if ((int)(gif_bytes - block_size) < 0) { + if ((ssize_t)(gif_bytes - block_size) < 0) { /* Try to recover by signaling the end of the gif. * Once we get garbage data, there is no logical way to * determine where the next frame is. It's probably @@ -484,8 +483,8 @@ static gif_result gif_skip_frame_extensions(gif_animation *gif) { const unsigned char *gif_data, *gif_end; - int gif_bytes; - unsigned int block_size; + ssize_t gif_bytes; + ssize_t block_size; /* Get our buffer position etc. */ gif_data = (const unsigned char *)(gif->gif_data + gif->buffer_position); @@ -585,13 +584,13 @@ { unsigned int index = 0; const unsigned char *gif_data, *gif_end; - int gif_bytes; + ssize_t gif_bytes; unsigned int width, height, offset_x, offset_y; unsigned int flags, colour_table_size, interlace; unsigned int *colour_table; unsigned int *frame_data = 0; // Set to 0 for no warnings unsigned int *frame_scanline; - unsigned int save_buffer_position; + ssize_t save_buffer_position; unsigned int return_value = 0; unsigned int x, y, decode_y, burst_bytes; register unsigned char colour; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/libnsgif/libnsgif.h new/chafa-1.6.1/libnsgif/libnsgif.h --- old/chafa-1.6.0/libnsgif/libnsgif.h 2020-07-18 03:02:36.000000000 +0200 +++ new/chafa-1.6.1/libnsgif/libnsgif.h 2021-02-19 18:13:24.000000000 +0100 @@ -119,9 +119,9 @@ /* Internal members are listed below */ /** current index into GIF data */ - unsigned int buffer_position; + ssize_t buffer_position; /** total number of bytes of GIF data available */ - unsigned int buffer_size; + ssize_t buffer_size; /** current number of frame holders */ unsigned int frame_holders; /** index in the colour table for the background colour */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/libnsgif/lzw.c new/chafa-1.6.1/libnsgif/lzw.c --- old/chafa-1.6.0/libnsgif/lzw.c 2020-07-18 03:02:36.000000000 +0200 +++ new/chafa-1.6.1/libnsgif/lzw.c 2021-02-19 18:13:24.000000000 +0100 @@ -34,12 +34,12 @@ */ struct lzw_read_ctx { const uint8_t *data; /**< Pointer to start of input data */ - uint32_t data_len; /**< Input data length */ - uint32_t data_sb_next; /**< Offset to sub-block size */ + uint64_t data_len; /**< Input data length */ + uint64_t data_sb_next; /**< Offset to sub-block size */ const uint8_t *sb_data; /**< Pointer to current sub-block in data */ - uint32_t sb_bit; /**< Current bit offset in sub-block */ - uint32_t sb_bit_count; /**< Bit count in sub-block */ + uint64_t sb_bit; /**< Current bit offset in sub-block */ + uint64_t sb_bit_count; /**< Bit count in sub-block */ }; /** @@ -113,8 +113,8 @@ */ static lzw_result lzw__block_advance(struct lzw_read_ctx *ctx) { - uint32_t block_size; - uint32_t next_block_pos = ctx->data_sb_next; + uint64_t block_size; + uint64_t next_block_pos = ctx->data_sb_next; const uint8_t *data_next = ctx->data + next_block_pos; if (next_block_pos >= ctx->data_len) { @@ -264,8 +264,8 @@ lzw_result lzw_decode_init( struct lzw_ctx *ctx, const uint8_t *compressed_data, - uint32_t compressed_data_len, - uint32_t compressed_data_pos, + uint64_t compressed_data_len, + uint64_t compressed_data_pos, uint8_t code_size, const uint8_t ** const stack_base_out, const uint8_t ** const stack_pos_out) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/chafa-1.6.0/libnsgif/lzw.h new/chafa-1.6.1/libnsgif/lzw.h --- old/chafa-1.6.0/libnsgif/lzw.h 2020-07-18 03:02:36.000000000 +0200 +++ new/chafa-1.6.1/libnsgif/lzw.h 2021-02-19 18:13:24.000000000 +0100 @@ -75,8 +75,8 @@ lzw_result lzw_decode_init( struct lzw_ctx *ctx, const uint8_t *compressed_data, - uint32_t compressed_data_len, - uint32_t compressed_data_pos, + uint64_t compressed_data_len, + uint64_t compressed_data_pos, uint8_t code_size, const uint8_t ** const stack_base_out, const uint8_t ** const stack_pos_out);
