Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package 4ti2 for openSUSE:Factory checked in at 2026-03-30 18:33:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/4ti2 (Old) and /work/SRC/openSUSE:Factory/.4ti2.new.1999 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "4ti2" Mon Mar 30 18:33:00 2026 rev:15 rq:1343651 version:1.6.15 Changes: -------- --- /work/SRC/openSUSE:Factory/4ti2/4ti2.changes 2025-11-26 18:50:32.871580874 +0100 +++ /work/SRC/openSUSE:Factory/.4ti2.new.1999/4ti2.changes 2026-03-30 18:37:16.834061966 +0200 @@ -1,0 +2,6 @@ +Thu Mar 5 13:02:52 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 1.6.15 + * Resolve some compiler warnings + +------------------------------------------------------------------- Old: ---- 4ti2-1.6.14.tar.gz New: ---- 4ti2-1.6.15.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ 4ti2.spec ++++++ --- /var/tmp/diff_new_pack.XvOwyK/_old 2026-03-30 18:37:17.726099260 +0200 +++ /var/tmp/diff_new_pack.XvOwyK/_new 2026-03-30 18:37:17.726099260 +0200 @@ -1,7 +1,7 @@ # # spec file for package 4ti2 # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,13 @@ Name: 4ti2 -Version: 1.6.14 +Version: 1.6.15 Release: 0 Summary: Package for algebraic, geometric and combinatorial problems on linear spaces License: GPL-2.0-or-later Group: Productivity/Scientific/Math URL: https://4ti2.github.io/ -Source: https://github.com/4ti2/4ti2/releases/download/Release_1_6_14/4ti2-1.6.14.tar.gz +Source: https://github.com/4ti2/4ti2/releases/download/Release_1_6_15/4ti2-1.6.15.tar.gz Patch2: 4ti2-handle-prefix.patch BuildRequires: fdupes BuildRequires: gcc-c++ >= 4.3 ++++++ 4ti2-1.6.14.tar.gz -> 4ti2-1.6.15.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/configure new/4ti2-1.6.15/configure --- old/4ti2-1.6.14/configure 2025-11-26 06:41:22.000000000 +0100 +++ new/4ti2-1.6.15/configure 2026-03-05 06:26:09.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for 4ti2 1.6.14. +# Generated by GNU Autoconf 2.71 for 4ti2 1.6.15. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -618,8 +618,8 @@ # Identity of this package. PACKAGE_NAME='4ti2' PACKAGE_TARNAME='4ti2' -PACKAGE_VERSION='1.6.14' -PACKAGE_STRING='4ti2 1.6.14' +PACKAGE_VERSION='1.6.15' +PACKAGE_STRING='4ti2 1.6.15' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -2127,7 +2127,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 4ti2 1.6.14 to adapt to many kinds of systems. +\`configure' configures 4ti2 1.6.15 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2198,7 +2198,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of 4ti2 1.6.14:";; + short | recursive ) echo "Configuration of 4ti2 1.6.15:";; esac cat <<\_ACEOF @@ -2325,7 +2325,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -4ti2 configure 1.6.14 +4ti2 configure 1.6.15 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -3141,7 +3141,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by 4ti2 $as_me 1.6.14, which was +It was created by 4ti2 $as_me 1.6.15, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4639,7 +4639,7 @@ # Define the identity of the package. PACKAGE='4ti2' - VERSION='1.6.14' + VERSION='1.6.15' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -15283,6 +15283,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu +CFLAGS="${CFLAGS} -D_GNU_SOURCE" ## Using the C++ compiler @@ -31395,7 +31396,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by 4ti2 $as_me 1.6.14, which was +This file was extended by 4ti2 $as_me 1.6.15, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -31463,7 +31464,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -4ti2 config.status 1.6.14 +4ti2 config.status 1.6.15 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/configure.ac new/4ti2-1.6.15/configure.ac --- old/4ti2-1.6.14/configure.ac 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/configure.ac 2026-03-05 06:25:49.000000000 +0100 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([4ti2],[1.6.14]) +AC_INIT([4ti2],[1.6.15]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign std-options]) AC_CONFIG_FILES([Makefile src/Makefile src/4ti2/Makefile @@ -67,6 +67,7 @@ gl_INIT AX_CFLAGS_WARN_ALL +CFLAGS="${CFLAGS} -D_GNU_SOURCE" ## Using the C++ compiler AC_PROG_CXX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/CircuitMatrixAlgorithm.tpp new/4ti2-1.6.15/src/groebner/CircuitMatrixAlgorithm.tpp --- old/4ti2-1.6.14/src/groebner/CircuitMatrixAlgorithm.tpp 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/CircuitMatrixAlgorithm.tpp 2026-03-05 06:25:49.000000000 +0100 @@ -282,7 +282,7 @@ VectorArray matrix(orig_matrix.get_number(), orig_matrix.get_size()); char buffer[256]; - sprintf(buffer, " Left = %3d Col = %3d", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d Col = %3d", num_remaining, next_col); DEBUG_4ti2(*out << "R1 [" << r1_start << "..." << r1_end << "]\n";) DEBUG_4ti2(*out << "R2 [" << r2_start << "..." << r2_end << "]\n";) @@ -387,7 +387,7 @@ VectorArray matrix(orig_matrix); char buffer[256]; - sprintf(buffer, " Left = %3d Col = %3d", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d Col = %3d", num_remaining, next_col); DEBUG_4ti2(*out << "R1 [" << r1_start << "..." << r1_end << "]\n";) DEBUG_4ti2(*out << "R2 [" << r2_start << "..." << r2_end << "]\n";) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/CircuitSupportAlgorithm.tpp new/4ti2-1.6.15/src/groebner/CircuitSupportAlgorithm.tpp --- old/4ti2-1.6.14/src/groebner/CircuitSupportAlgorithm.tpp 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/CircuitSupportAlgorithm.tpp 2026-03-05 06:25:49.000000000 +0100 @@ -323,7 +323,7 @@ int num_cols = vs.get_size(); char buffer[256]; - sprintf(buffer, " Left = %3d, Col = %3d,", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d, Col = %3d,", num_remaining, next_col); IndexSet temp_supp(num_cols); IndexSet full_temp_supp(full_num_cols); @@ -405,7 +405,7 @@ int num_cols = vs.get_size(); char buffer[256]; - sprintf(buffer, " Left = %3d Col = %3d", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d Col = %3d", num_remaining, next_col); IndexSet temp_supp(num_cols); IndexSet zero_supp(full_num_cols); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/HybridGenSet.cpp new/4ti2-1.6.15/src/groebner/HybridGenSet.cpp --- old/4ti2-1.6.14/src/groebner/HybridGenSet.cpp 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/HybridGenSet.cpp 2026-03-05 06:25:49.000000000 +0100 @@ -124,7 +124,7 @@ column = next_support(gens, fin); VectorArray cost(1,dim,0); cost[0][column] = -1; - sprintf(buffer, " Lift %3d: Col: %3d ", fin.count(), column); + snprintf(buffer, sizeof(buffer), " Lift %3d: Col: %3d ", fin.count(), column); Globals::context = buffer; BitSet::set_union(fin, urs, fin_union_urs); Feasible projection(feasible, fin_union_urs); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/Makefile.am new/4ti2-1.6.15/src/groebner/Makefile.am --- old/4ti2-1.6.14/src/groebner/Makefile.am 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/Makefile.am 2026-03-05 06:25:49.000000000 +0100 @@ -306,7 +306,5 @@ lib4ti2gmp_la_SOURCES = $(lib4ti2sources) endif -EXTRA_DIST = script.template - $(WRAPPERSCRIPTS): script.template $(install_sh_SCRIPT) $< $@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/Makefile.in new/4ti2-1.6.15/src/groebner/Makefile.in --- old/4ti2-1.6.14/src/groebner/Makefile.in 2025-11-26 06:41:24.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/Makefile.in 2026-03-05 06:26:11.000000000 +0100 @@ -1757,7 +1757,6 @@ @HAVE_GMP_WITH_CXX_TRUE@lib4ti2gmp_la_CPPFLAGS = -D_4ti2_GMP_ \ @HAVE_GMP_WITH_CXX_TRUE@ $(GMP_CFLAGS) @HAVE_GMP_WITH_CXX_TRUE@lib4ti2gmp_la_SOURCES = $(lib4ti2sources) -EXTRA_DIST = script.template all: all-am .SUFFIXES: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/ProjectLiftGenSet.cpp new/4ti2-1.6.15/src/groebner/ProjectLiftGenSet.cpp --- old/4ti2-1.6.14/src/groebner/ProjectLiftGenSet.cpp 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/ProjectLiftGenSet.cpp 2026-03-05 06:25:49.000000000 +0100 @@ -132,7 +132,7 @@ VectorArray cost(1,dim,0); cost[0][index] = -1; char buffer[250]; - sprintf(buffer, " Lift %3d: Col: %3d ", fin.count()+1, index); + snprintf(buffer, sizeof(buffer), " Lift %3d: Col: %3d ", fin.count()+1, index); Globals::context = buffer; Completion algorithm; DEBUG_4ti2(*out << "Column:" << index << "\n";) @@ -147,7 +147,7 @@ column = next_support(gens, fin); VectorArray cost(1,dim,0); cost[0][column] = -1; - sprintf(buffer, " Lift %3d: Col: %3d ", fin.count(), column); + snprintf(buffer, sizeof(buffer), " Lift %3d: Col: %3d ", fin.count(), column); Globals::context = buffer; BitSet fin_union_urs(fin.get_size()); BitSet::set_union(fin, urs, fin_union_urs); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/RayMatrixAlgorithm.tpp new/4ti2-1.6.15/src/groebner/RayMatrixAlgorithm.tpp --- old/4ti2-1.6.14/src/groebner/RayMatrixAlgorithm.tpp 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/RayMatrixAlgorithm.tpp 2026-03-05 06:25:49.000000000 +0100 @@ -161,7 +161,7 @@ next_zero_count); char buffer[256]; - sprintf(buffer, " Left = %3d Col = %3d", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d Col = %3d", num_remaining, next_col); *out << "\r" << buffer; *out << " Size = " << std::setw(8) << vs.get_number() << " Time: " << t; DEBUG_4ti2( @@ -384,7 +384,7 @@ next_zero_count); char buffer[256]; - sprintf(buffer, " Left = %3d Col = %3d", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d Col = %3d", num_remaining, next_col); *out << "\r" << buffer; *out << " Size = " << std::setw(8) << vs.get_number() << " Time: " << t; DEBUG_4ti2( @@ -654,7 +654,7 @@ next_zero_count); char buffer[256]; - sprintf(buffer, " Left = %3d Col = %3d", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d Col = %3d", num_remaining, next_col); *out << "\r" << buffer; *out << " Size = " << std::setw(8) << vs.get_number() << " Time: " << t; DEBUG_4ti2( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/RaySupportAlgorithm.tpp new/4ti2-1.6.15/src/groebner/RaySupportAlgorithm.tpp --- old/4ti2-1.6.14/src/groebner/RaySupportAlgorithm.tpp 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/RaySupportAlgorithm.tpp 2026-03-05 06:25:49.000000000 +0100 @@ -151,7 +151,7 @@ next_zero_count); char buffer[256]; - sprintf(buffer, " Left = %3d, Col = %3d,", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d, Col = %3d,", num_remaining, next_col); *out << "\r" << buffer; *out << " Size = " << std::setw(8) << vs.get_number() << " Time: " << t; DEBUG_4ti2( @@ -353,7 +353,7 @@ next_zero_count); char buffer[256]; - sprintf(buffer, " Left = %3d, Col = %3d,", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d, Col = %3d,", num_remaining, next_col); *out << "\r" << buffer; *out << " Size = " << std::setw(8) << vs.get_number() << " Time: " << t; DEBUG_4ti2( @@ -569,7 +569,7 @@ next_zero_count); char buffer[256]; - sprintf(buffer, " Left = %3d, Col = %3d,", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d, Col = %3d,", num_remaining, next_col); *out << "\r" << buffer; *out << " Size = " << std::setw(8) << vs.get_number() << " Time: " << t; DEBUG_4ti2( @@ -796,7 +796,7 @@ next_zero_count); char buffer[256]; - sprintf(buffer, " Left = %3d, Col = %3d,", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d, Col = %3d,", num_remaining, next_col); *out << "\r" << buffer; *out << " Size = " << std::setw(8) << vs.get_number() << " Time: " << t; DEBUG_4ti2( @@ -1054,7 +1054,7 @@ next_zero_count); char buffer[256]; - sprintf(buffer, " Left = %3d Col = %3d", num_remaining, next_col); + snprintf(buffer, sizeof(buffer), " Left = %3d Col = %3d", num_remaining, next_col); *out << "\r" << buffer; *out << " Size = " << std::setw(8) << vs.get_number() << " Time: " << t; DEBUG_4ti2( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/SaturationGenSet.cpp new/4ti2-1.6.15/src/groebner/SaturationGenSet.cpp --- old/4ti2-1.6.14/src/groebner/SaturationGenSet.cpp 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/SaturationGenSet.cpp 2026-03-05 06:25:49.000000000 +0100 @@ -116,7 +116,7 @@ index = next_saturation(gens, sat, urs); VectorArray cost(1,dim,0); cost[0][index] = 0; - sprintf(buffer, " Sat %3d: Col: %3d ", + snprintf(buffer, sizeof(buffer), " Sat %3d: Col: %3d ", urs.get_size()-urs.count()-sat.count(), index); Globals::context = buffer; cost[0][index] = -1; @@ -147,7 +147,7 @@ index = next_saturation(useful_gens, sat, urs); VectorArray cost(1,dim,0); cost[0][index] = 0; - sprintf(buffer, " Sat %3d: Col: %3d ", + snprintf(buffer, sizeof(buffer), " Sat %3d: Col: %3d ", urs.get_size()-urs.count()-sat.count(), index); Globals::context = buffer; cost[0][index] = -1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/script.template new/4ti2-1.6.15/src/groebner/script.template --- old/4ti2-1.6.14/src/groebner/script.template 2025-11-26 06:41:39.000000000 +0100 +++ new/4ti2-1.6.15/src/groebner/script.template 1970-01-01 01:00:00.000000000 +0100 @@ -1,64 +0,0 @@ -#!/bin/sh - -# 4ti2 -- A software package for algebraic, geometric and combinatorial -# problems on linear spaces. -# -# Copyright (C) 2006 4ti2 team. -# Main author(s): Peter Malkin -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# We locate where this script is so we can call the executables. -SCRIPT=$(realpath $(which "$0")) -DIR=`dirname "$SCRIPT"` -FUNCTION=`basename "$SCRIPT"` - -# The default executable. -EXECUTABLE=4ti2int64 - -# We look for options on the command line which indicate the level of precision -# required and we call the appropriate 4ti2 executable according to the required -# precision level. The short option is `-p' and the long option is -# `--precision', and the argument to either is one of 32, 64, or `arbitrary'. -# The following regular expressions are not exactly correct since for example -# they allow misspellings of precision. However, they will match correctly -# formatted input and if the option is incorrectly formatted, the actual -# executable will pick up any errors. -if echo $@ | grep -E -q -e '-p *32 ' || - echo $@ | grep -E -q -e '--p[recision]* *=? *32 ' -then - EXECUTABLE=4ti2int32 -elif echo $@ | grep -E -q -e '-p *64 ' || - echo $@ | grep -E -q -e '--p[recision]* *=? *64 ' -then - EXECUTABLE=4ti2int64 -elif echo $@ | grep -E -q -e '-p *a[rbitrary]* ' || - echo $@ | grep -E -q -e '--p[recision]* *=? *a[rbitrary]* ' -then - EXECUTABLE=4ti2gmp -fi - -# We check whether the 4ti2 executable exists. -if [ ! -f "$DIR/$EXECUTABLE" ] -then - echo "Error: Unable to find 4ti2 executable \`$EXECUTABLE'" - exit 1 -fi - -# We add the path $DIR to load shared libraries for the libglpk -# libgmp, and libgmpxx libraries. -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DIR - -"$DIR"/$EXECUTABLE $FUNCTION $@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/ppi/ppi.cpp new/4ti2-1.6.15/src/ppi/ppi.cpp --- old/4ti2-1.6.14/src/ppi/ppi.cpp 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/ppi/ppi.cpp 2026-03-05 06:25:49.000000000 +0100 @@ -1175,7 +1175,7 @@ if (binary) { // Output binary format. char fname[20]; - sprintf(fname, "ppi%d.dat", n); + snprintf(fname, sizeof(fname), "ppi%d.dat", n); cerr << fname << flush; FILE *f = fopen(fname, "wb"); char cn = n; @@ -1191,7 +1191,7 @@ { // The .gra (Graver) file: char fname[20]; - sprintf(fname, "ppi%d.gra", n); + snprintf(fname, sizeof(fname), "ppi%d.gra", n); cerr << fname << flush; ofstream f(fname); // #Vectors, Dimension. @@ -1208,7 +1208,7 @@ { // Also output a matrix file. char fname[20]; - sprintf(fname, "ppi%d.mat", n); + snprintf(fname, sizeof(fname), "ppi%d.mat", n); cerr << " and matrix file " << fname << flush; ofstream f(fname); // #Rows, Dimension. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/util/genmodel.c new/4ti2-1.6.15/src/util/genmodel.c --- old/4ti2-1.6.14/src/util/genmodel.c 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/util/genmodel.c 2026-03-05 06:25:49.000000000 +0100 @@ -53,20 +53,39 @@ exit(0); } - fscanf(in,"%d",numOfNodes); + if (fscanf(in,"%d",numOfNodes) != 1) { + fprintf(stderr, "Error reading number of nodes from %s.\n", inpFileName); + exit(1); + } b=createVector(*numOfNodes); - for (j=0; j<(*numOfNodes); j++) fscanf(in,"%d",&b[j]); + for (j=0; j<(*numOfNodes); j++) { + if (fscanf(in,"%d",&b[j]) != 1) { + fprintf(stderr, "Error reading node %d from %s.\n", j, inpFileName); + exit(1); + } + } basis = createListVector(b); endBasis = basis; - fscanf(in,"%d",&numOfFaces); + if (fscanf(in,"%d",&numOfFaces) != 1) { + fprintf(stderr, "Error reading number of faces from %s.\n", inpFileName); + exit(1); + } for (i=0; i<numOfFaces; i++) { - fscanf(in,"%d",&sizeOfFace); + if (fscanf(in,"%d",&sizeOfFace) != 1) { + fprintf(stderr, "Error reading size of face %d from %s.\n", i, inpFileName); + exit(1); + } b=createVector(sizeOfFace); b[0]=sizeOfFace; - for (j=0; j<sizeOfFace; j++) fscanf(in,"%d",&b[j+1]); + for (j=0; j<sizeOfFace; j++) { + if (fscanf(in,"%d",&b[j+1]) != 1) { + fprintf(stderr, "Error reading face %d element %d from %s.\n", i, j, inpFileName); + exit(1); + } + } endBasis = updateBasis(createListVector(b), endBasis); } fclose(in); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/util/output.c new/4ti2-1.6.15/src/util/output.c --- old/4ti2-1.6.14/src/util/output.c 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/util/output.c 2026-03-05 06:25:49.000000000 +0100 @@ -37,7 +37,7 @@ #include "banner.h" /* ----------------------------------------------------------------- */ -listVector* readListVector(int *numOfVars, char *fileName) { +listVector* readListVector(int *numOfVars, const char *fileName) { int numOfVectors; listVector *basis, *endBasis; vector b; @@ -50,19 +50,39 @@ return(0); } - fscanf(in,"%d",&numOfVectors); - fscanf(in,"%d",numOfVars); + if (fscanf(in,"%d",&numOfVectors) != 1) { + fprintf(stderr, "Error reading number of vectors from %s.\n", fileName); + fclose(in); + return(0); + } + if (fscanf(in,"%d",numOfVars) != 1) { + fprintf(stderr, "Error reading number of variables from %s.\n", fileName); + fclose(in); + return(0); + } if (numOfVectors==0) return (0); b=createVector(*numOfVars); - for (j=0; j<(*numOfVars); j++) fscanf(in,"%d",&b[j]); + for (j=0; j<(*numOfVars); j++) { + if (fscanf(in,"%d",&b[j]) != 1) { + fprintf(stderr, "Error reading vector element from %s.\n", fileName); + fclose(in); + return(0); + } + } basis = createListVector(b); endBasis = basis; for (i=1; i<numOfVectors; i++) { b=createVector(*numOfVars); - for (j=0; j<(*numOfVars); j++) fscanf(in,"%d",&b[j]); + for (j=0; j<(*numOfVars); j++) { + if (fscanf(in,"%d",&b[j]) != 1) { + fprintf(stderr, "Error reading vector element from %s.\n", fileName); + fclose(in); + return(0); + } + } endBasis = updateBasis(createListVector(b), endBasis); } fclose(in); @@ -793,7 +813,6 @@ if ((in = fopen(varFileName,"r"))) { int i; printf("File \"%s\" found. 4ti2 will use it.\n\n",varFileName); - fscanf(in,"%d %d",&numOfRows, &numOfLabels); labels = (char **)malloc(sizeof(char*)*(numOfVars)); if (fscanf(in,"%d %d",&numOfRows, &numOfLabels)!=2 || numOfRows!=1) { printf("ERROR: Unrecognised file format for \"%s\".\n", varFileName); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/util/output.h new/4ti2-1.6.15/src/util/output.h --- old/4ti2-1.6.14/src/util/output.h 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/util/output.h 2026-03-05 06:25:49.000000000 +0100 @@ -1,3 +1,3 @@ int output_main(int, char**); -listVector* readListVector(int*, char*); +listVector* readListVector(int*, const char*); listVector* extractNonDominatedVectors(listVector*, listVector*, int); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/util/print.c new/4ti2-1.6.15/src/util/print.c --- old/4ti2-1.6.14/src/util/print.c 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/util/print.c 2026-03-05 06:25:49.000000000 +0100 @@ -82,7 +82,8 @@ return ; } /* ----------------------------------------------------------------- */ -void printListVectorToFile(char* fileName, listVector* basis, int numOfVars) { +void printListVectorToFile(const char* fileName, listVector* basis, + int numOfVars) { int len; FILE* out; @@ -106,8 +107,8 @@ fclose(out); return ; } -/* ----------------------------------------------------------------- */ -void printSubsetOfListVectorToFile(char* fileName, listVector* basis, +/* ------------------------------------------------------------------------ */ +void printSubsetOfListVectorToFile(const char* fileName, listVector* basis, vector ind, int numOfVars) { int len,len2,j; FILE* out; @@ -147,7 +148,8 @@ return ; } /* ----------------------------------------------------------------- */ -void printListVectorWithoutColumnToFile(char* fileName, listVector* basis, +void printListVectorWithoutColumnToFile(const char* fileName, + listVector* basis, int ind, int numOfVars) { int len; FILE* out; @@ -185,7 +187,7 @@ return ; } /* ----------------------------------------------------------------- */ -void printListVectorWithAdditionalColumnToFile(char* fileName, +void printListVectorWithAdditionalColumnToFile(const char* fileName, listVector* basis, int ind, int val, int numOfVars) { @@ -214,7 +216,7 @@ return ; } /* ----------------------------------------------------------------- */ -void printTransposedListVectorToFile(char* fileName, listVector* basis, +void printTransposedListVectorToFile(const char* fileName, listVector* basis, int numOfVars) { int i,len; listVector *tmp; @@ -318,7 +320,7 @@ return ; } /* ----------------------------------------------------------------- */ -void printListBinomialsToFile(char* fileName, listVector* basis, +void printListBinomialsToFile(const char* fileName, listVector* basis, int numOfVars, char** labels) { FILE* out; @@ -377,7 +379,8 @@ return ; } /* ----------------------------------------------------------------- */ -void printListMonomialsAndBinomialsToFile(char* fileName, listVector* basis, +void printListMonomialsAndBinomialsToFile(const char* fileName, + listVector* basis, int numOfVars, char** labels) { FILE* out; @@ -455,7 +458,8 @@ return ; } /* ----------------------------------------------------------------- */ -void printListVectorMaple(char* fileName, listVector* basis, int numOfVars) { +void printListVectorMaple(const char* fileName, listVector* basis, + int numOfVars) { FILE* out; if (!(out = fopen(fileName,"w"))) { @@ -480,7 +484,7 @@ return ; } /* ----------------------------------------------------------------- */ -void printListVectorMacaulay2(char* fileName, listVector* basis, +void printListVectorMacaulay2(const char* fileName, listVector* basis, int numOfVars) { FILE* out; @@ -506,8 +510,8 @@ return ; } /* ----------------------------------------------------------------- */ -void print3wayTables(char* fileName, listVector* basis, int x, int y, - int z, int numOfVars) { +void print3wayTables(const char* fileName, listVector* basis, int x, + int y, int z, int numOfVars) { int i,j,k; vector v; FILE* out; @@ -583,7 +587,7 @@ return; } /* ----------------------------------------------------------------- */ -void printListVectorWithGivenDegreesToFile(char *outFileName, +void printListVectorWithGivenDegreesToFile(const char *outFileName, listVector *basis, int numOfVars, int lowdegree, int highdegree){ int i,s,len; @@ -647,7 +651,7 @@ return; } /* ----------------------------------------------------------------- */ -void printListVectorWithGivenSupportsToFile(char *outFileName, +void printListVectorWithGivenSupportsToFile(const char *outFileName, listVector *basis, int numOfVars, int lowdegree, int highdegree){ int i,s,len; @@ -724,7 +728,7 @@ return; } /* ----------------------------------------------------------------- */ -void printListVectorWithGivenNonzeroEntryToFile(char *outFileName, +void printListVectorWithGivenNonzeroEntryToFile(const char *outFileName, listVector *basis, int numOfVars, int coord){ @@ -760,8 +764,8 @@ return; } /* ----------------------------------------------------------------- */ -void writeResult(listVector *basis, int numOfVars, char *fileName, - char *basisType, int infoLevel) { +void writeResult(listVector *basis, int numOfVars, const char *fileName, + const char *basisType, int infoLevel) { const char *infoMessage="undefined"; const char *outExtension=""; char *outFileName=NULL; @@ -803,7 +807,7 @@ return; } /* ----------------------------------------------------------------- */ -void printListRepresentativesToFile(char* fileName, listOrbit* basis, +void printListRepresentativesToFile(const char* fileName, listOrbit* basis, int numOfVars) { int len; FILE* out; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/4ti2-1.6.14/src/util/print.h new/4ti2-1.6.15/src/util/print.h --- old/4ti2-1.6.14/src/util/print.h 2025-11-26 06:40:59.000000000 +0100 +++ new/4ti2-1.6.15/src/util/print.h 2026-03-05 06:25:49.000000000 +0100 @@ -24,30 +24,34 @@ void printVector(vector, int); void printListVector(listVector*, int); void printVectorToFile(FILE*, vector, int); -void printListVectorToFile(char*, listVector*, int); -void printSubsetOfListVectorToFile(char*, listVector*, vector, int); -void printListVectorWithoutColumnToFile(char*, listVector*, int, int); -void printListVectorWithAdditionalColumnToFile(char*, listVector*, int, int, - int); -void printTransposedListVectorToFile(char*, listVector*, int); +void printListVectorToFile(const char*, listVector*, int); +void printSubsetOfListVectorToFile(const char*, listVector*, vector, int); +void printListVectorWithoutColumnToFile(const char*, listVector*, int, int); +void printListVectorWithAdditionalColumnToFile(const char*, listVector*, int, + int, int); +void printTransposedListVectorToFile(const char*, listVector*, int); void printVectorToFileWithBrackets(FILE*, vector, int); void printBinomialToFile(FILE*, vector, int, char**); -void printListBinomialsToFile(char*, listVector*, int, char**); +void printListBinomialsToFile(const char*, listVector*, int, char**); void printMonomialToFile(FILE*, vector, int, char**); -void printListMonomialsAndBinomialsToFile(char*, listVector*, int, char**); +void printListMonomialsAndBinomialsToFile(const char*, listVector*, int, + char**); void printMatrix(vector, int, int); void printVectorToFileMaple(FILE*, vector, int); -void printListVectorMaple(char*, listVector*, int); -void printListVectorMacaulay2(char*, listVector*, int); -void print3wayTables(char*, listVector*, int, int, int, int); +void printListVectorMaple(const char*, listVector*, int); +void printListVectorMacaulay2(const char*, listVector*, int); +void print3wayTables(const char*, listVector*, int, int, int, int); void printL1NormOfListVector(listVector*, int); -void printListVectorWithGivenDegreesToFile(char*, listVector*, int, int, int); +void printListVectorWithGivenDegreesToFile(const char*, listVector*, int, + int, int); void printSupportsOfListVector(listVector*, int); void printTypesOfListVector(listVector*, int, int); -void printListVectorWithGivenSupportsToFile(char*, listVector*, int, int, int); -void printListVectorWithGivenNonzeroEntryToFile(char*, listVector*, int, int); -void writeResult(listVector*, int, char*, char*, int); -void printListRepresentativesToFile(char*, listOrbit*, int); +void printListVectorWithGivenSupportsToFile(const char*, listVector*, int, + int, int); +void printListVectorWithGivenNonzeroEntryToFile(const char*, listVector*, int, + int); +void writeResult(listVector*, int, const char*, const char*, int); +void printListRepresentativesToFile(const char*, listOrbit*, int); void printRationalVector(rationalVector*, int); void printRationalVectorToFileWithoutBrackets(FILE*, rationalVector*, int); ++++++ 4ti2-handle-prefix.patch ++++++ --- /var/tmp/diff_new_pack.XvOwyK/_old 2026-03-30 18:37:19.386168665 +0200 +++ /var/tmp/diff_new_pack.XvOwyK/_new 2026-03-30 18:37:19.394168999 +0200 @@ -7,31 +7,13 @@ undesired. FUNCTION needs to be derived from the initial unresolved $0 value. --- - src/groebner/script.template | 5 +++-- src/groebner/script.template.in | 5 +++-- - 2 files changed, 6 insertions(+), 4 deletions(-) + 1 file changed, 3 insertions(+), 2 deletions(-) -Index: 4ti2-1.6.12/src/groebner/script.template +Index: 4ti2-1.6.15/src/groebner/script.template.in =================================================================== ---- 4ti2-1.6.12.orig/src/groebner/script.template -+++ 4ti2-1.6.12/src/groebner/script.template -@@ -21,9 +21,10 @@ - # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - # We locate where this script is so we can call the executables. --SCRIPT=$(realpath $(which "$0")) -+FUNCTION="${0##*/}" -+FUNCTION="${FUNCTION#4ti2_}" -+SCRIPT=$(realpath "$(which "$0")") - DIR=`dirname "$SCRIPT"` --FUNCTION=`basename "$SCRIPT"` - - # The default executable. - EXECUTABLE=4ti2int64 -Index: 4ti2-1.6.12/src/groebner/script.template.in -=================================================================== ---- 4ti2-1.6.12.orig/src/groebner/script.template.in -+++ 4ti2-1.6.12/src/groebner/script.template.in +--- 4ti2-1.6.15.orig/src/groebner/script.template.in ++++ 4ti2-1.6.15/src/groebner/script.template.in @@ -21,9 +21,10 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.XvOwyK/_old 2026-03-30 18:37:19.434170671 +0200 +++ /var/tmp/diff_new_pack.XvOwyK/_new 2026-03-30 18:37:19.442171006 +0200 @@ -1,5 +1,5 @@ -mtime: 1764146996 -commit: c430d7dc9843b3bc78255e5bc8c2618bb6c3b449ff7727a74f530f55a12bc2e6 +mtime: 1772716289 +commit: dc4b9e5963aacfcd5cb62bbcf95e1be8906773067da35818700eee20bffb7a99 url: https://src.opensuse.org/jengelh/4ti2 revision: master ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-03-05 14:11:40.000000000 +0100 @@ -0,0 +1 @@ +.osc
