Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ansilove for openSUSE:Factory checked in at 2026-11-04 19:44:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ansilove (Old) and /work/SRC/openSUSE:Factory/.ansilove.new.3759290 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ansilove" Wed Nov 4 19:44:35 2026 rev:16 rq:1394776 version:4.2.3 Changes: -------- --- /work/SRC/openSUSE:Factory/ansilove/ansilove.changes 2026-06-11 17:29:08.262800502 +0200 +++ /work/SRC/openSUSE:Factory/.ansilove.new.3759290/ansilove.changes 2026-11-04 19:44:54.754036701 +0100 @@ -1,0 +2,10 @@ +Mon Nov 2 15:41:17 UTC 2026 - Martin Hauke <[email protected]> + +- Update to version 4.2.3 + * Document support for PabloDraw 24-bit ANSI sequences. + * Add an IceDraw test file and register it with CTest. + * Use a distinct output filename for the Retina test. + * Fix a memory leak in SAUCE handling. + * Fix SAUCE reading with respect to file size and EOF markers. + +------------------------------------------------------------------- Old: ---- ansilove-4.2.2.tar.gz New: ---- ansilove-4.2.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ansilove.spec ++++++ --- /var/tmp/diff_new_pack.PLnKus/_old 2026-11-04 19:44:55.592071780 +0100 +++ /var/tmp/diff_new_pack.PLnKus/_new 2026-11-04 19:44:55.597071989 +0100 @@ -18,7 +18,7 @@ Name: ansilove -Version: 4.2.2 +Version: 4.2.3 Release: 0 Summary: ANSI and ASCII art to PNG converter License: BSD-2-Clause ++++++ ansilove-4.2.2.tar.gz -> ansilove-4.2.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/CMakeLists.txt new/ansilove-4.2.3/CMakeLists.txt --- old/ansilove-4.2.2/CMakeLists.txt 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/CMakeLists.txt 2026-11-02 01:22:16.000000000 +0100 @@ -60,8 +60,9 @@ add_test(ansi ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.ans) add_test(artworx ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.adf) add_test(bin ansilove -c 80 ${PROJECT_SOURCE_DIR}/tests/bs-alove.bin) +add_test(icedraw ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.idf) add_test(pcboard ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.pcb) add_test(tundra ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.tnd) add_test(xbin ansilove ${PROJECT_SOURCE_DIR}/tests/bs-alove.xb) -add_test(retina ansilove -r ${PROJECT_SOURCE_DIR}/tests/bs-alove.ans) +add_test(retina ansilove -r ${PROJECT_SOURCE_DIR}/tests/bs-alove.ans -o ${PROJECT_SOURCE_DIR}/tests/bs-alove.ans-retina.png) add_test(sauce ansilove -s ${PROJECT_SOURCE_DIR}/tests/sauce.txt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/ChangeLog new/ansilove-4.2.3/ChangeLog --- old/ansilove-4.2.2/ChangeLog 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/ChangeLog 2026-11-02 01:22:16.000000000 +0100 @@ -1,8 +1,19 @@ +AnsiLove/C 4.2.3 (2026-11-02) + +- Document support for PabloDraw 24-bit ANSI sequences +- Add an IceDraw test file and register it with CTest +- Use a distinct output filename for the Retina test +- Fix a memory leak in SAUCE handling +- Fix SAUCE reading with respect to file size and EOF markers + + + AnsiLove/C 4.2.2 (2026-06-10) - Update README to add a link to the Nix package - Fix "Amiga Topaz 1" font selection from SAUCE metadata - Fix font table entry count to make topaz500+ reachable + (Both issues were reported by Aaron Myles Landwehr, thanks!) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/FILE_ID.DIZ new/ansilove-4.2.3/FILE_ID.DIZ --- old/ansilove-4.2.2/FILE_ID.DIZ 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/FILE_ID.DIZ 2026-11-02 01:22:16.000000000 +0100 @@ -17,7 +17,7 @@ - -----------//______|----------------- - : : | | - | Ansilove/C 4.2.2 | + | Ansilove/C 4.2.3 | | | | ANSi=>PNG converter & library | | | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/README.md new/ansilove-4.2.3/README.md --- old/ansilove-4.2.2/README.md 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/README.md 2026-11-02 01:22:16.000000000 +0100 @@ -101,7 +101,8 @@ The following formats are supported: -- .ANS - ANSi (ANSI escape sequences: ANSI X3.64 standard) +- .ANS - ANSi (ANSI escape sequences: ANSI X3.64 standard), including + PabloDraw 24-bit color sequences - .PCB - PCBoard Bulletin Board System (BBS) own file format - .BIN - Binary format (raw memory copy of text mode video memory) - .ADF - Artworx format, supporting custom character sets and palettes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/ansilove.spec new/ansilove-4.2.3/ansilove.spec --- old/ansilove-4.2.2/ansilove.spec 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/ansilove.spec 2026-11-02 01:22:16.000000000 +0100 @@ -1,5 +1,5 @@ Name: ansilove -Version: 4.2.2 +Version: 4.2.3 Release: 1%{?dist} Summary: ANSI and ASCII art to PNG converter diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/ansilove.c new/ansilove-4.2.3/src/ansilove.c --- old/ansilove-4.2.2/src/ansilove.c 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/ansilove.c 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * ansilove.c - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus @@ -341,8 +341,18 @@ errx(EXIT_FAILURE, "%s", ansilove_error(&ctx)); /* adjust the file size if file contains a SAUCE record */ - if (fileHasSAUCE) - ctx.length -= 129 - (record->comments > 0 ? 5 + 64 * record->comments : 0); + if (fileHasSAUCE) { + size_t sauce_size = 128 + (record->comments > 0 ? + 5 + 64 * record->comments : 0); + + if (sauce_size <= ctx.length) { + ctx.length -= sauce_size; + + /* the EOF character is optional */ + if (ctx.length && ctx.buffer[ctx.length - 1] == 0x1a) + ctx.length--; + } + } int (*loader)(struct ansilove_ctx *, struct ansilove_options *) = NULL; @@ -459,8 +469,7 @@ ansilove_clean(&ctx); - free(record->comment_lines); - free(record); + sauceFree(record); return EXIT_SUCCESS; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/config.h new/ansilove-4.2.3/src/config.h --- old/ansilove-4.2.2/src/config.h 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/config.h 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * config.h - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus @@ -18,7 +18,7 @@ #include <stdint.h> /* configuration defines */ -#define VERSION "4.2.2" +#define VERSION "4.2.3" enum { FONTS = 39, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/fonts.h new/ansilove-4.2.3/src/fonts.h --- old/ansilove-4.2.2/src/fonts.h 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/fonts.h 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * fonts.h - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/sauce.c new/ansilove-4.2.3/src/sauce.c --- old/ansilove-4.2.2/src/sauce.c 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/sauce.c 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * sauce.c - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus @@ -46,6 +46,23 @@ return record; } +/* Free a SAUCE record and its comment lines. */ +void +sauceFree(struct sauce *record) +{ + if (record == NULL) + return; + + if (record->comment_lines != NULL) { + for (int32_t i = 0; i < record->comments; i++) + free(record->comment_lines[i]); + + free(record->comment_lines); + } + + free(record); +} + #define READ_RECORD(record, size) \ read_status = fread(record, size, 1, file); \ if (read_status != 1) \ @@ -93,12 +110,19 @@ } if (record->comments > 0) { - record->comment_lines = malloc(record->comments *sizeof (*record->comment_lines)); + record->comment_lines = calloc(record->comments, sizeof (*record->comment_lines)); if (record->comment_lines != NULL) { if (readComments(file, record->comment_lines, record->comments) == -1) { + for (int32_t i = 0; i < record->comments; i++) + free(record->comment_lines[i]); + + free(record->comment_lines); + record->comment_lines = NULL; record->comments = 0; } + } else { + record->comments = 0; } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/sauce.h new/ansilove-4.2.3/src/sauce.h --- old/ansilove-4.2.2/src/sauce.h 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/sauce.h 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * sauce.h - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus @@ -46,6 +46,7 @@ struct sauce *sauceReadFileName(char *); struct sauce *sauceReadFile(FILE *); +void sauceFree(struct sauce *); void readRecord(FILE *, struct sauce *); int readComments(FILE *, char **, int32_t); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/seccomp.h new/ansilove-4.2.3/src/seccomp.h --- old/ansilove-4.2.2/src/seccomp.h 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/seccomp.h 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * seccomp.h - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2019-2026, Frederic Cambus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/strtolower.c new/ansilove-4.2.3/src/strtolower.c --- old/ansilove-4.2.2/src/strtolower.c 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/strtolower.c 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * strtolower.c - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/strtolower.h new/ansilove-4.2.3/src/strtolower.h --- old/ansilove-4.2.2/src/strtolower.h 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/strtolower.h 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * strtolower.h - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/types.c new/ansilove-4.2.3/src/types.c --- old/ansilove-4.2.2/src/types.c 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/types.c 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * types.c - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansilove-4.2.2/src/types.h new/ansilove-4.2.3/src/types.h --- old/ansilove-4.2.2/src/types.h 2026-06-10 20:34:10.000000000 +0200 +++ new/ansilove-4.2.3/src/types.h 2026-11-02 01:22:16.000000000 +0100 @@ -1,6 +1,6 @@ /* * types.h - * Ansilove 4.2.2 + * Ansilove 4.2.3 * https://www.ansilove.org * * Copyright (c) 2011-2026 Stefan Vogt, Brian Cassidy, and Frederic Cambus Binary files old/ansilove-4.2.2/tests/bs-alove.idf and new/ansilove-4.2.3/tests/bs-alove.idf differ
