update to 3.7.6

This commit is contained in:
sxt1001 2020-07-28 14:11:31 +08:00
parent 0e49b8c1cb
commit 5d4b55a4e7
9 changed files with 13 additions and 197 deletions

Binary file not shown.

BIN
recode-3.7.6.tar.gz Normal file

Binary file not shown.

View File

@ -1,22 +0,0 @@
--- recode-3.6.orig/configure.in 2001-01-03 16:50:54.000000000 +0100
+++ recode-3.6/configure.in 2012-07-23 14:15:28.000000000 +0200
@@ -15,7 +15,7 @@
AM_PROG_LIBTOOL
AC_ISC_POSIX
-AM_C_PROTOTYPES
+dnl AM_C_PROTOTYPES
AC_C_CONST
AC_C_INLINE
ad_AC_PROG_FLEX
--- recode-3.6.orig/src/Makefile.am 2000-12-06 17:36:12.000000000 +0100
+++ recode-3.6/src/Makefile.am 2012-07-23 14:47:07.000000000 +0200
@@ -17,7 +17,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-AUTOMAKE_OPTIONS = gnits ansi2knr
+AUTOMAKE_OPTIONS = gnits
bin_PROGRAMS = recode
lib_LTLIBRARIES = librecode.la
man_MANS = recode.1

View File

@ -1,11 +0,0 @@
--- a/src/recodext.h.orig 2008-01-16 13:15:39.000000000 +0100
+++ b/src/recodext.h 2008-01-16 13:16:47.000000000 +0100
@@ -218,7 +218,7 @@
enum recode_symbol_type type : 3;
/* Non zero if this one should be ignored. */
- bool ignore : 2;
+ bool ignore : 1;
};
struct recode_surface_list

View File

@ -1,16 +0,0 @@
--- recode-3.6-orig/m4/flex.m4 2000-06-28 16:39:06.000000000 +0200
+++ recode-3.6/m4/flex.m4 2010-07-07 12:23:49.000000000 +0200
@@ -8,11 +8,8 @@
dnl Look for flex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
AC_DEFUN(ad_AC_PROG_FLEX,
[AC_CHECK_PROGS(LEX, flex, missing)
-if test "$LEX" = missing; then
+AS_IF([test "$LEX" = missing], [
LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
LEX_OUTPUT_ROOT=lex.yy
AC_SUBST(LEX_OUTPUT_ROOT)dnl
-else
- AC_PROG_LEX
- AC_DECL_YYTEXT
-fi])
+])])

View File

@ -1,12 +0,0 @@
diff -up recode-3.6/src/names.c.printf recode-3.6/src/names.c
--- recode-3.6/src/names.c.printf 2000-12-06 20:41:29.000000000 +0100
+++ recode-3.6/src/names.c 2013-12-18 12:48:42.578052395 +0100
@@ -892,7 +892,7 @@ list_concise_charset (RECODE_OUTER outer
if (ucs2 >= 0)
printf (format, code);
else if (mnemonic || counter2 != 112)
- printf (blanks);
+ printf ("%s", blanks);
if (mnemonic)
printf (counter2 == 112 ? " %s\n" : " %-3s", mnemonic);

View File

@ -1,51 +0,0 @@
diff -u -r recode-3.6.orig/src/common.h recode-3.6/src/common.h
--- recode-3.6.orig/src/common.h 2000-06-28 20:40:15.000000000 +0200
+++ recode-3.6/src/common.h 2017-10-03 13:52:09.904644383 +0200
@@ -56,13 +56,14 @@
# define RETSIGTYPE void
#endif
-#if DIFF_HASH
-# ifdef HAVE_LIMITS_H
-# include <limits.h>
-# endif
-# ifndef CHAR_BIT
-# define CHAR_BIT 8
-# endif
+#ifdef HAVE_LIMITS_H
+# include <limits.h>
+#endif
+#ifndef CHAR_BIT
+# define CHAR_BIT 8
+#endif
+#ifndef PATH_MAX
+# define PATH_MAX 4096
#endif
/* Some systems do not define EXIT_*, even with STDC_HEADERS. */
diff -u -r recode-3.6.orig/src/main.c recode-3.6/src/main.c
--- recode-3.6.orig/src/main.c 2000-12-06 20:44:59.000000000 +0100
+++ recode-3.6/src/main.c 2017-10-03 14:32:51.274017940 +0200
@@ -847,7 +847,7 @@
for (; optind < argc; optind++)
{
const char *input_name;
- char output_name[200]; /* FIXME: dangerous limit */
+ char output_name[PATH_MAX];
FILE *file;
struct stat file_stat;
struct utimbuf file_utime;
@@ -871,7 +871,12 @@
/* FIXME: Scott Schwartz <schwartz@bio.cse.psu.edu> writes:
"There's no reason to think that that name is unique." */
-
+ // To avoid overflows, the size of the array pointed by destination (output_name)
+ // shall be long enough to contain the same C string as source
+ // (including the terminating null character).
+ if (strlen(input_name) >= PATH_MAX) {
+ error (EXIT_FAILURE, 0, "input_name reach the PATH_MAX limit");
+ }
strcpy (output_name, input_name);
#if DOSWIN_OR_OS2
for (cursor = output_name + strlen (output_name);

View File

@ -1,68 +0,0 @@
--- recode-3.6.orig/src/libiconv.c
+++ recode-3.6/src/libiconv.c
@@ -1,5 +1,5 @@
/* Conversion of files between different charsets and surfaces.
- Copyright © 1999, 2000 Free Software Foundation, Inc.
+ Copyright © 1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1999,
and Bruno Haible <haible@clisp.cons.org>, 2000.
@@ -195,12 +195,17 @@
memcpy() doesn't do here, because the regions might overlap.
memmove() isn't worth it, because we rarely have to move more
than 12 bytes. */
- if (input > input_buffer && input_left > 0)
+ cursor = input_buffer;
+ if (input_left > 0)
{
- cursor = input_buffer;
- do
- *cursor++ = *input++;
- while (--input_left > 0);
+ if (input > input_buffer)
+ {
+ do
+ *cursor++ = *input++;
+ while (--input_left > 0);
+ }
+ else
+ cursor += input_left;
}
}
--- recode-3.6.orig/src/request.c
+++ recode-3.6/src/request.c
@@ -1073,7 +1073,7 @@
if (task->output.cursor + 4 >= task->output.limit)
{
RECODE_OUTER outer = task->request->outer;
- size_t old_size = task->output.limit - task->output.buffer;
+ size_t old_size = task->output.cursor - task->output.buffer;
size_t new_size = task->output.cursor + 4 - task->output.buffer;
/* FIXME: Rethink about how the error should be reported. */
--- recode-3.6.orig/src/task.c
+++ recode-3.6/src/task.c
@@ -1198,6 +1198,8 @@
else
success = transform_mere_copy (subtask);
+ task->output = subtask->output;
+
if (subtask->input.name && *subtask->input.name)
fclose (subtask->input.file);
if (subtask->output.name && *subtask->output.name)
--- recode-3.6.orig/src/hash.h
+++ recode-3.6/src/hash.h
@@ -21,6 +21,11 @@
/* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use
obstacks instead of malloc, and recompile `hash.c' with same setting. */
+#define hash_lookup recode_hash_lookup
+#define hash_delete recode_hash_delete
+#define hash_free recode_hash_free
+#define hash_insert recode_hash_insert
+
#ifndef PARAMS
# if PROTOTYPES || __STDC__
# define PARAMS(Args) Args

View File

@ -1,22 +1,13 @@
Name: recode Name: recode
Version: 3.6 Version: 3.7.6
Release: 50 Release: 1
Summary: Converter between charsets and surfaces Summary: Converter between charsets and surfaces
License: GPLv2 and LGPLv2.1 License: GPLv2 and LGPLv2.1
URL: https://www.gnu.org/software/recode/ URL: https://www.gnu.org/software/recode/
Source0: https://github.com/rrthomas/recode/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source0: https://github.com/rrthomas/recode/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: libtool texinfo autoconf automake coreutils gcc gettext-devel
Patch0: recode.patch BuildRequires: help2man make python3-Cython python3-devel >= 3.7.5
Patch1: recode-bool-bitfield.patch Requires: info
Patch2: recode-flex-m4.patch
Patch3: recode-automake.patch
Patch4: recode-format-security.patch
Patch5: recode-longfilename.patch
BuildRequires: libtool texinfo
Requires: info
%description %description
The recode library converts files between character sets and usages. The recode library converts files between character sets and usages.
@ -50,8 +41,6 @@ Man pages and other related documents for %{name}.
%autosetup -n %{name}-%{version} -p1 %autosetup -n %{name}-%{version} -p1
%build %build
rm m4/libtool.m4
rm acinclude.m4
autoreconf -vif autoreconf -vif
%configure %configure
make %{?_smp_mflags} make %{?_smp_mflags}
@ -80,6 +69,7 @@ fi
%files -f %{name}.lang %files -f %{name}.lang
%license COPYING* %license COPYING*
%{_bindir}/recode %{_bindir}/recode
%{_infodir}/recode*
%{_libdir}/librecode.so.* %{_libdir}/librecode.so.*
%files devel %files devel
@ -88,12 +78,18 @@ fi
%{_libdir}/librecode.*a %{_libdir}/librecode.*a
%files help %files help
%doc ABOUT-NLS AUTHORS BACKLOG ChangeLog INSTALL NEWS README THANKS TODO %doc ABOUT-NLS AUTHORS ChangeLog INSTALL NEWS README THANKS TODO
%{_infodir}/*.info.gz %{_infodir}/*.info.gz
%exclude %{_infodir}/dir* %exclude %{_infodir}/dir*
%{_mandir}/man1/*.1.gz %{_mandir}/man1/*.1.gz
%changelog %changelog
* Tue Jul 28 2020 shixuantong <shixuantong@huawei.com> - 3.7.6-1
- Type:NA
- ID:NA
- SUG:NA
- DESC:updato to 3.7.6-1
* Sat Jan 11 2020 zhangguangzhi<zhangguangzhi3@huawei.com> - 3.6-50 * Sat Jan 11 2020 zhangguangzhi<zhangguangzhi3@huawei.com> - 3.6-50
- Type:bugfix - Type:bugfix
- ID:NA - ID:NA