summaryrefslogtreecommitdiff
path: root/sys-apps/file
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-28 22:00:05 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-28 22:00:05 +0100
commit9c602d90d61cea9fe83c596c68a99e383ee15f73 (patch)
treebca80b41af9c142cee7e07f14622dff065e60932 /sys-apps/file
parentcf7630078a53ff74b245b148bd722994068e28f9 (diff)
gentoo auto-resync : 28:10:2022 - 22:00:04
Diffstat (limited to 'sys-apps/file')
-rw-r--r--sys-apps/file/Manifest4
-rw-r--r--sys-apps/file/file-5.42-r1.ebuild162
-rw-r--r--sys-apps/file/files/file-5.42-unicode-fixes.patch390
3 files changed, 0 insertions, 556 deletions
diff --git a/sys-apps/file/Manifest b/sys-apps/file/Manifest
index 87bc1c66f534..bd1043a3951e 100644
--- a/sys-apps/file/Manifest
+++ b/sys-apps/file/Manifest
@@ -1,13 +1,9 @@
AUX file-5.39-portage-sandbox.patch 457 BLAKE2B ff4b67570144d5995ef62326da5f7a4ac5fe4befc3db56ff6d6a711c84bb4316da9e1a203326a6bc219066acd8e40634bf17f28f95d583bfa2f3d4698bcd57fc SHA512 20f66d918a605233f733fa6f5c038d9c56ec1175e706b76b16ecb8be81d64d79c3a932824b61092bf1edcd55c29fc2bcfa8bdf506e5717c10e849ec6110bbd3d
AUX file-5.40-seccomp-fstatat64-musl.patch 578 BLAKE2B c2c074e4dca62253303bae3af88a7ce0bc7d3efd608bd7269d624ad69b0fe4022db38efc5bb63d8f6d1f7bf45c2a1d749c406e76cf1ce42be731e663e2874ad5 SHA512 008c2a2c18b14eaa49f62b87fa14f4bea46bfd56efda17e49541fd51d87201d4d5511d3aae50b53dfcd68cc8e9a38884711ac59458acff9bf3290e267c2891bb
-AUX file-5.42-unicode-fixes.patch 10989 BLAKE2B af85384f3d2461d30deda506e1e624ffb9d72ef3a25c7e902a747f10dbcb6ca7782d24900b1d5cc856763052975d6e3649d880d005d82bd5f64d310b014f82a8 SHA512 824f128b44a51fee1673110e90be6fdf7831a5220cc608dc94ef1367e1550de05170a8e9a4c4e90a1f372e975b9c391a2cb5ea968df1cb263734bd78ce585403
DIST file-5.41.tar.gz 1064097 BLAKE2B 56fe8a58d9497bb1bfe3ed6b3ce5df70dd27cc308eb0cfdac8e91ba81c733a96aa622c120ac59079986c6d84901c6f2d82fa24f698d481d7f77e6cfdd432d648 SHA512 bbf2d8e39450b31d0ba8d76d202790fea953775657f942f06e6dc9091798d4a395f7205e542388e4a25b6a4506d07f36c5c4da37cfce0734133e9203a3b00654
-DIST file-5.42.tar.gz 1105846 BLAKE2B c557facb066ae0599db832ddbbc3fed7db2e057faefe832cb4bed8f860b63456217bee39f0c82b17902c3b91426e522681216d2d3ed689501fa00d69a4a09832 SHA512 33c3c339a561c6cf787cc06a16444a971c62068b01827612c948207a9714107b617bed8148cd67e6280cb1c62ad4dfb1205fb8486ea9c042ce7e19b067d3bb05
-DIST file-5.42.tar.gz.asc 195 BLAKE2B 9b930bcd6b98878e60cd72d8d71b40201ebbf3ab1dda7d2b0e3228abdc0c1e21473a012b9799dcac8638ded1bdbe03865c5e41ed4086076a7df6bf6aadbfe29d SHA512 a7105c48f6c671638f5fb7f18f9b193d108456655b4c734208e00aca36fab54dd330ec2fdc3ff29fb78adbc16874af4fb0916c560e50228f82003a8cd258491a
DIST file-5.43.tar.gz 1162786 BLAKE2B aaaf32c5054fb83e912af6656e5e67947f45576ec3711c7cba5531ed780e142a448580e0db41a828c8a3c5d2f1bf0c8ed49bc9688499caaae4a08baa16b3610c SHA512 9d02f4e7a69d90468d6bd35df5ec240ddee8c2408b7df3e73427d7f18736baf77db0638a1fe8283f4e6abd1d5ad653890ed3a5a0d48bb52d4023ca4070ecdf06
DIST file-5.43.tar.gz.asc 195 BLAKE2B d7f83b3e21d1390467989f8870e36daa48ebb8c5ac7ab8dc6d667a65d10561126d32cfc5ef3d81a130990b3e46bcba9b5e03f0a7dd169782351b02cebec2471f SHA512 c565958840f2f5c62821cd08d4149ec97c574232913ec00400473364e160250cfaced8c715e109c4c617359e33d2470f7ca6af1891cbdf994329e890f90c8be3
EBUILD file-5.41.ebuild 3347 BLAKE2B 413305c675ac4b0af437e2ca48d4edd3ca29bbd3cfac376ebaed000142eb5a191f7d1c85449838ae204ec6c294828af68cfd7e6fe885b82c255d0570bc16b18d SHA512 396ef33817680b5bd48d7239e455f3c798f8813267ab7ea19dae7f845ad039164b88c6600887aba4254916a4ec857baaf01b949c6276510490e089d1f5b52f9b
-EBUILD file-5.42-r1.ebuild 3760 BLAKE2B 218d9cdc0b2c4387c6ba06729b56e4d886639ce8fe883a5be1593acdd2204012a88748afa76654f600ad38e88132c6cb6d73853dab5d717cdee8be1cb0a82d66 SHA512 dc21797dd4a187abf91d3f52bdc798e3c1838c6bd4930de4a209d46fdb7331268ad5710f062436b9208f21cc7618dd6c49a71e10e09a60643cfd6a288d939108
EBUILD file-5.43.ebuild 3712 BLAKE2B 3081dc9e676be42da2cbc8fb34018b2e4f63ffb9c0854346325c574d71942608db81463fd5c80756455e1541c838e3d27f51f7d228a16549316fcc51954acfc0 SHA512 25de2f67fabd5f276a52c271ff1627a3387ffaf1f7d1b12893e5b6c6f56c2a64b54f2011787260bf7283cfe7a3e807631da8c0c2ede3e9237e39cd450cde7cd9
EBUILD file-9999.ebuild 3870 BLAKE2B ac7f37d005c94d589cf9663a2443d7ea49df93e52da2b66c60d1e755ba787810c1885d47268e424857e19755786d69660415f137baf3f4b2325b40e94dc998a3 SHA512 d44ae484b41b20df592a0b69ce054557a963f8b63b956f9ec70564351d7c23ab26d969bc3f1d914a0440da7dad72b1ae413193c1e6cc1a1263e4052a64028309
MISC metadata.xml 565 BLAKE2B 737512e354fedb4483608b04c594a486c0d8a0f70d23d306c59c78dedb0c8116f80ff558926444b9d9b9ef15805b3826163523b5644c88f01a330be1b8c9a76f SHA512 f240bf9e064c6e6f5b63e3265dfe3adf5b1d2c2b5b2456b79ea7451580150271ccb4097d33967de57ba767fecbdbea51fb62ccb683fcc5e1cca101be660ffd19
diff --git a/sys-apps/file/file-5.42-r1.ebuild b/sys-apps/file/file-5.42-r1.ebuild
deleted file mode 100644
index bbde9949d397..000000000000
--- a/sys-apps/file/file-5.42-r1.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1 libtool toolchain-funcs multilib-minimal
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/glensc/file.git"
- inherit autotools git-r3
-else
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/file.asc
- inherit verify-sig
- SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
- BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )"
-fi
-
-DESCRIPTION="Identify a file's format by scanning binary data for patterns"
-HOMEPAGE="https://www.darwinsys.com/file/"
-
-LICENSE="BSD-2"
-SLOT="0"
-IUSE="bzip2 lzma python seccomp static-libs zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
- python? (
- ${PYTHON_DEPS}
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
- zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}
- python? ( !dev-python/python-magic )
- seccomp? ( sys-libs/libseccomp[${MULTILIB_USEDEP}] )"
-BDEPEND+="
- python? (
- ${PYTHON_DEPS}
- ${DISTUTILS_DEPS}
- )"
-
-PATCHES=(
- "${FILESDIR}/file-5.39-portage-sandbox.patch" #713710 #728978
- "${FILESDIR}/file-5.40-seccomp-fstatat64-musl.patch" #789336, not upstream yet
- "${FILESDIR}/${P}-unicode-fixes.patch" #861089
-)
-
-src_prepare() {
- default
-
- if [[ ${PV} == 9999 ]] ; then
- eautoreconf
- else
- elibtoolize
- fi
-
- # don't let python README kill main README, bug ##60043
- mv python/README.md python/README.python.md || die
- # bug #662090
- sed 's@README.md@README.python.md@' -i python/setup.py || die
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-fsect-man5
- $(use_enable bzip2 bzlib)
- $(use_enable lzma xzlib)
- $(use_enable seccomp libseccomp)
- $(use_enable static-libs static)
- $(use_enable zlib)
- )
- econf "${myeconfargs[@]}"
-}
-
-build_src_configure() {
- local myeconfargs=(
- --disable-shared
- --disable-libseccomp
- --disable-bzlib
- --disable-xzlib
- --disable-zlib
- )
-
- econf_build "${myeconfargs[@]}"
-}
-
-need_build_file() {
- # when cross-compiling, we need to build up our own file
- # because people often don't keep matching host/target
- # file versions, bug #362941
- tc-is-cross-compiler && ! has_version -b "~${CATEGORY}/${P}"
-}
-
-src_configure() {
- local ECONF_SOURCE="${S}"
-
- if need_build_file ; then
- mkdir -p "${WORKDIR}"/build || die
- cd "${WORKDIR}"/build || die
- build_src_configure
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- # bug #586444
- emake -C src magic.h
- emake -C src libmagic.la
- fi
-}
-
-src_compile() {
- if need_build_file ; then
- # bug #586444
- emake -C "${WORKDIR}"/build/src magic.h
- emake -C "${WORKDIR}"/build/src file
- local -x PATH="${WORKDIR}/build/src:${PATH}"
- fi
-
- multilib-minimal_src_compile
-
- if use python ; then
- cd python || die
- distutils-r1_src_compile
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- default
- else
- emake -C src install-{nodist_includeHEADERS,libLTLIBRARIES} DESTDIR="${D}"
- fi
-}
-
-multilib_src_install_all() {
- dodoc ChangeLog MAINT # README
-
- # Required for `file -C`
- insinto /usr/share/misc/magic
- doins -r magic/Magdir/*
-
- if use python ; then
- cd python || die
- distutils-r1_src_install
- fi
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/sys-apps/file/files/file-5.42-unicode-fixes.patch b/sys-apps/file/files/file-5.42-unicode-fixes.patch
deleted file mode 100644
index cc6ee7196b49..000000000000
--- a/sys-apps/file/files/file-5.42-unicode-fixes.patch
+++ /dev/null
@@ -1,390 +0,0 @@
-https://bugs.gentoo.org/861089
-https://github.com/file/file/commit/19bf47777d0002ee884467e45e6ace702e40a4c1
-https://github.com/file/file/commit/c80065fe6900be5e794941e29b32440e9969b1c3
-https://github.com/file/file/commit/7e59d34206d7c962e093d4239e5367a2cd8b7623
-https://github.com/file/file/commit/f042050f59bfc037677871c4d1037c33273f5213
-https://github.com/file/file/commit/d471022b2772071877895759f209f2c346757a4c
-https://github.com/file/file/commit/441ac2b15508909e82ad467960df4ac0adf9644c
-
-From 19bf47777d0002ee884467e45e6ace702e40a4c1 Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Mon, 4 Jul 2022 17:00:51 +0000
-Subject: [PATCH] PR/358: Fix width for -f - (jpalus)
-
---- a/src/file.c
-+++ b/src/file.c
-@@ -506,35 +506,47 @@ unwrap(struct magic_set *ms, const char *fn)
- size_t llen = 0;
- int wid = 0, cwid;
- int e = 0;
-+ size_t fi = 0, fimax = 100;
-+ char **flist = malloc(sizeof(*flist) * fimax);
-
-- if (strcmp("-", fn) == 0) {
-+ if (flist == NULL)
-+out: file_err(EXIT_FAILURE, "Cannot allocate memory for file list");
-+
-+ if (strcmp("-", fn) == 0)
- f = stdin;
-- wid = 1;
-- } else {
-+ else {
- if ((f = fopen(fn, "r")) == NULL) {
- file_warn("Cannot open `%s'", fn);
- return 1;
- }
--
-- while ((len = getline(&line, &llen, f)) > 0) {
-- if (line[len - 1] == '\n')
-- line[len - 1] = '\0';
-- cwid = file_mbswidth(ms, line);
-- if (cwid > wid)
-- wid = cwid;
-- }
--
-- rewind(f);
- }
-
- while ((len = getline(&line, &llen, f)) > 0) {
- if (line[len - 1] == '\n')
- line[len - 1] = '\0';
-- e |= process(ms, line, wid);
-+ if (fi >= fimax) {
-+ fimax += 100;
-+ char **nf = realloc(flist, fimax * sizeof(*flist));
-+ if (nf == NULL)
-+ goto out;
-+ }
-+ flist[fi++] = line;
-+ cwid = file_mbswidth(ms, line);
-+ if (cwid > wid)
-+ wid = cwid;
-+ line = NULL;
-+ llen = 0;
-+ }
-+
-+ fimax = fi;
-+ for (fi = 0; fi < fimax; fi++) {
-+ e |= process(ms, flist[fi], wid);
-+ free(flist[fi]);
- }
-+ free(flist);
-
-- free(line);
-- (void)fclose(f);
-+ if (f != stdin)
-+ (void)fclose(f);
- return e;
- }
-
-
-From c80065fe6900be5e794941e29b32440e9969b1c3 Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Mon, 4 Jul 2022 19:44:35 +0000
-Subject: [PATCH] PR/362: ro-ee: fix wide char printing
-
---- a/src/file.c
-+++ b/src/file.c
-@@ -60,6 +60,12 @@ FILE_RCSID("@(#)$File: file.c,v 1.196 2022/07/04 17:00:51 christos Exp $")
- #ifdef HAVE_WCTYPE_H
- #include <wctype.h>
- #endif
-+#if defined(HAVE_WCHAR_H) && defined(HAVE_MBRTOWC) && defined(HAVE_WCWIDTH) && \
-+ defined(HAVE_WCTYPE_H)
-+#define FILE_WIDE_SUPPORT
-+#else
-+#include <ctype.h>
-+#endif
-
- #if defined(HAVE_GETOPT_H) && defined(HAVE_STRUCT_OPTION)
- # include <getopt.h>
-@@ -550,6 +556,55 @@ out: file_err(EXIT_FAILURE, "Cannot allocate memory for file list");
- return e;
- }
-
-+private void
-+file_octal(unsigned char c)
-+{
-+ putc('\\', stdout);
-+ putc(((c >> 6) & 7) + '0', stdout);
-+ putc(((c >> 3) & 7) + '0', stdout);
-+ putc(((c >> 0) & 7) + '0', stdout);
-+}
-+
-+private void
-+fname_print(const char *inname)
-+{
-+ size_t n = strlen(inname);
-+#ifdef FILE_WIDE_SUPPORT
-+ mbstate_t state;
-+ wchar_t nextchar;
-+ size_t bytesconsumed;
-+
-+
-+ (void)mbrlen(NULL, 0, &state);
-+ while (n > 0) {
-+ bytesconsumed = mbrtowc(&nextchar, inname, n, &state);
-+ if (bytesconsumed == CAST(size_t, -1) ||
-+ bytesconsumed == CAST(size_t, -2)) {
-+ nextchar = *inname;
-+ bytesconsumed = 1;
-+ }
-+ inname += bytesconsumed;
-+ n -= bytesconsumed;
-+ if (iswprint(nextchar)) {
-+ putwc(nextchar, stdout);
-+ continue;
-+ }
-+ /* XXX: What if it is > 255? */
-+ file_octal(CAST(unsigned char, nextchar));
-+ }
-+#else
-+ size_t i;
-+ for (i = 0; i < n; i++) {
-+ unsigned char c = CAST(unsigned char, inname[i]);
-+ if (isprint(c)) {
-+ putc(c);
-+ continue;
-+ }
-+ file_octal(c);
-+ }
-+#endif
-+}
-+
- /*
- * Called for each input file on the command line (or in a list of files)
- */
-@@ -559,15 +614,13 @@ process(struct magic_set *ms, const char *inname, int wid)
- const char *type, c = nulsep > 1 ? '\0' : '\n';
- int std_in = strcmp(inname, "-") == 0;
- int haderror = 0;
-- size_t plen = 4 * wid + 1;
-- char *pbuf, *pname;
--
-- if ((pbuf = CAST(char *, malloc(plen))) == NULL)
-- file_err(EXIT_FAILURE, "Can't allocate %zu bytes", plen);
-
- if (wid > 0 && !bflag) {
-- pname = file_printable(ms, pbuf, plen, inname, wid);
-- (void)printf("%s", std_in ? "/dev/stdin" : pname);
-+ const char *pname = std_in ? "/dev/stdin" : inname;
-+ if ((ms->flags & MAGIC_RAW) == 0)
-+ fname_print(pname);
-+ else
-+ (void)printf("%s", pname);
- if (nulsep)
- (void)putc('\0', stdout);
- if (nulsep < 2) {
-@@ -586,7 +639,6 @@ process(struct magic_set *ms, const char *inname, int wid)
- }
- if (nobuffer)
- haderror |= fflush(stdout) != 0;
-- free(pbuf);
- return haderror || type == NULL;
- }
-
-@@ -594,35 +646,33 @@ protected size_t
- file_mbswidth(struct magic_set *ms, const char *s)
- {
- size_t width = 0;
--#if defined(HAVE_WCHAR_H) && defined(HAVE_MBRTOWC) && defined(HAVE_WCWIDTH) && \
-- defined(HAVE_WCTYPE_H)
-- size_t bytesconsumed, old_n, n;
-+#ifdef FILE_WIDE_SUPPORT
-+ size_t bytesconsumed, n;
- mbstate_t state;
- wchar_t nextchar;
-- (void)memset(&state, 0, sizeof(mbstate_t));
-- old_n = n = strlen(s);
-+
-+ (void)mbrlen(NULL, 0, &state);
-+ n = strlen(s);
-
- while (n > 0) {
- bytesconsumed = mbrtowc(&nextchar, s, n, &state);
- if (bytesconsumed == CAST(size_t, -1) ||
- bytesconsumed == CAST(size_t, -2)) {
-- /* Something went wrong, return something reasonable */
-- return old_n;
-+ nextchar = *s;
-+ bytesconsumed = 1;
- }
- width += ((ms->flags & MAGIC_RAW) != 0
- || iswprint(nextchar)) ? wcwidth(nextchar) : 4;
-
- s += bytesconsumed, n -= bytesconsumed;
- }
-- return width;
- #else
- while (*s) {
- width += (ms->flags & MAGIC_RAW) != 0
- || isprint(CAST(unsigned char, *s)) ? 1 : 4;
- }
--
-- return strlen(s);
- #endif
-+ return width;
- }
-
- private void
---- a/src/file.h
-+++ b/src/file.h
-@@ -575,7 +575,7 @@ protected size_t file_pstring_length_size(struct magic_set *,
- const struct magic *);
- protected size_t file_pstring_get_length(struct magic_set *,
- const struct magic *, const char *);
--public char * file_printable(struct magic_set *, char *, size_t,
-+protected char * file_printable(struct magic_set *, char *, size_t,
- const char *, size_t);
- #ifdef __EMX__
- protected int file_os2_apptype(struct magic_set *, const char *, const void *,
---- a/src/funcs.c
-+++ b/src/funcs.c
-@@ -763,7 +763,7 @@ file_pop_buffer(struct magic_set *ms, file_pushbuf_t *pb)
- /*
- * convert string to ascii printable format.
- */
--public char *
-+protected char *
- file_printable(struct magic_set *ms, char *buf, size_t bufsiz,
- const char *str, size_t slen)
- {
-
-From 7e59d34206d7c962e093d4239e5367a2cd8b7623 Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Mon, 4 Jul 2022 20:16:29 +0000
-Subject: [PATCH] Handle invalid characters as octal (idea from PR/363 by
- dimich)
-
---- a/src/file.c
-+++ b/src/file.c
-@@ -580,8 +580,11 @@ fname_print(const char *inname)
- bytesconsumed = mbrtowc(&nextchar, inname, n, &state);
- if (bytesconsumed == CAST(size_t, -1) ||
- bytesconsumed == CAST(size_t, -2)) {
-- nextchar = *inname;
-- bytesconsumed = 1;
-+ nextchar = *inname++;
-+ n--;
-+ (void)mbrlen(NULL, 0, &state);
-+ file_octal(CAST(unsigned char, nextchar));
-+ continue;
- }
- inname += bytesconsumed;
- n -= bytesconsumed;
-@@ -660,9 +663,12 @@ file_mbswidth(struct magic_set *ms, const char *s)
- bytesconsumed == CAST(size_t, -2)) {
- nextchar = *s;
- bytesconsumed = 1;
-+ (void)mbrlen(NULL, 0, &state);
-+ width += 4;
-+ } else {
-+ width += ((ms->flags & MAGIC_RAW) != 0
-+ || iswprint(nextchar)) ? wcwidth(nextchar) : 4;
- }
-- width += ((ms->flags & MAGIC_RAW) != 0
-- || iswprint(nextchar)) ? wcwidth(nextchar) : 4;
-
- s += bytesconsumed, n -= bytesconsumed;
- }
-
-
-From f042050f59bfc037677871c4d1037c33273f5213 Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Mon, 4 Jul 2022 22:30:51 +0000
-Subject: [PATCH] mbrlen(NULL, is not portable; revert to using memset to
- initialize the state.
-
---- a/src/file.c
-+++ b/src/file.c
-@@ -575,14 +575,14 @@ fname_print(const char *inname)
- size_t bytesconsumed;
-
-
-- (void)mbrlen(NULL, 0, &state);
-+ (void)memset(&state, 0, sizeof(state));
- while (n > 0) {
- bytesconsumed = mbrtowc(&nextchar, inname, n, &state);
- if (bytesconsumed == CAST(size_t, -1) ||
- bytesconsumed == CAST(size_t, -2)) {
- nextchar = *inname++;
- n--;
-- (void)mbrlen(NULL, 0, &state);
-+ (void)memset(&state, 0, sizeof(state));
- file_octal(CAST(unsigned char, nextchar));
- continue;
- }
-@@ -654,7 +654,7 @@ file_mbswidth(struct magic_set *ms, const char *s)
- mbstate_t state;
- wchar_t nextchar;
-
-- (void)mbrlen(NULL, 0, &state);
-+ (void)memset(&state, 0, sizeof(state));
- n = strlen(s);
-
- while (n > 0) {
-@@ -663,7 +663,7 @@ file_mbswidth(struct magic_set *ms, const char *s)
- bytesconsumed == CAST(size_t, -2)) {
- nextchar = *s;
- bytesconsumed = 1;
-- (void)mbrlen(NULL, 0, &state);
-+ (void)memset(&state, 0, sizeof(state));
- width += 4;
- } else {
- width += ((ms->flags & MAGIC_RAW) != 0
-
-
-From d471022b2772071877895759f209f2c346757a4c Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Tue, 5 Jul 2022 19:53:42 +0000
-Subject: [PATCH] Use printf("%lc") instead of putwc(). Somehow mixing wide and
- narrow stdio does not work on Linux?
-
---- a/src/file.c
-+++ b/src/file.c
-@@ -589,7 +589,7 @@ fname_print(const char *inname)
- inname += bytesconsumed;
- n -= bytesconsumed;
- if (iswprint(nextchar)) {
-- putwc(nextchar, stdout);
-+ printf("%lc", nextchar);
- continue;
- }
- /* XXX: What if it is > 255? */
-
-From 441ac2b15508909e82ad467960df4ac0adf9644c Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Tue, 5 Jul 2022 20:05:23 +0000
-Subject: [PATCH] wcwidth is not supposed to return -1 if the character is
- printable, but it does for 0xff... Prevent it from decreasing the width.
-
---- a/src/file.c
-+++ b/src/file.c
-@@ -666,8 +666,9 @@ file_mbswidth(struct magic_set *ms, const char *s)
- (void)memset(&state, 0, sizeof(state));
- width += 4;
- } else {
-+ int w = wcwidth(nextchar);
- width += ((ms->flags & MAGIC_RAW) != 0
-- || iswprint(nextchar)) ? wcwidth(nextchar) : 4;
-+ || iswprint(nextchar)) ? (w > 0 ? w : 1) : 4;
- }
-
- s += bytesconsumed, n -= bytesconsumed;
-
-From be1ac8c0aa6d21921012f62582f51a9e546e4972 Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Tue, 26 Jul 2022 15:10:05 +0000
-Subject: [PATCH] Fix bug with large flist (Florian Weimer)
-
---- a/src/file.c
-+++ b/src/file.c
-@@ -535,6 +535,7 @@ out: file_err(EXIT_FAILURE, "Cannot allocate memory for file list");
- char **nf = realloc(flist, fimax * sizeof(*flist));
- if (nf == NULL)
- goto out;
-+ flist = nf;
- }
- flist[fi++] = line;
- cwid = file_mbswidth(ms, line);
-