summaryrefslogtreecommitdiff
path: root/sys-apps/file/files
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/files
parentcf7630078a53ff74b245b148bd722994068e28f9 (diff)
gentoo auto-resync : 28:10:2022 - 22:00:04
Diffstat (limited to 'sys-apps/file/files')
-rw-r--r--sys-apps/file/files/file-5.42-unicode-fixes.patch390
1 files changed, 0 insertions, 390 deletions
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);
-