diff options
Diffstat (limited to 'meta/packages/file/file')
-rw-r--r-- | meta/packages/file/file/ge-le.patch | 70 | ||||
-rw-r--r-- | meta/packages/file/file/native-fix.diff | 13 | ||||
-rw-r--r-- | meta/packages/file/file/stringb-compat.patch | 29 |
3 files changed, 99 insertions, 13 deletions
diff --git a/meta/packages/file/file/ge-le.patch b/meta/packages/file/file/ge-le.patch new file mode 100644 index 0000000000..7b7d8b60a4 --- /dev/null +++ b/meta/packages/file/file/ge-le.patch | |||
@@ -0,0 +1,70 @@ | |||
1 | `>=' and `<=' was silently ignored in previous version, | ||
2 | but causes an warning in file 5.04. Add support for these | ||
3 | two operators as a feature extension, however, users should | ||
4 | not rely on them. | ||
5 | |||
6 | 8/17/2010 - created by Qing He <qing.he@intel.com> | ||
7 | |||
8 | diff --git a/src/apprentice.c b/src/apprentice.c | ||
9 | index 3d4c3cf..a2b86ed 100644 | ||
10 | --- a/src/apprentice.c | ||
11 | +++ b/src/apprentice.c | ||
12 | @@ -1396,11 +1396,10 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp, | ||
13 | m->reln = *l; | ||
14 | ++l; | ||
15 | if (*l == '=') { | ||
16 | - if (ms->flags & MAGIC_CHECK) { | ||
17 | - file_magwarn(ms, "%c= not supported", | ||
18 | - m->reln); | ||
19 | - return -1; | ||
20 | - } | ||
21 | + if (m->reln == '>') | ||
22 | + m->reln = 'g'; | ||
23 | + else if (m->reln == '<') | ||
24 | + m->reln = 'l'; | ||
25 | ++l; | ||
26 | } | ||
27 | break; | ||
28 | diff --git a/src/softmagic.c b/src/softmagic.c | ||
29 | index d8a5675..1648e43 100644 | ||
30 | --- a/src/softmagic.c | ||
31 | +++ b/src/softmagic.c | ||
32 | @@ -1955,6 +1955,38 @@ magiccheck(struct magic_set *ms, struct magic *m) | ||
33 | } | ||
34 | break; | ||
35 | |||
36 | + case 'g': | ||
37 | + if (m->flag & UNSIGNED) { | ||
38 | + matched = v >= l; | ||
39 | + if ((ms->flags & MAGIC_DEBUG) != 0) | ||
40 | + (void) fprintf(stderr, "%llu >= %llu = %d\n", | ||
41 | + (unsigned long long)v, | ||
42 | + (unsigned long long)l, matched); | ||
43 | + } | ||
44 | + else { | ||
45 | + matched = (int64_t) v >= (int64_t) l; | ||
46 | + if ((ms->flags & MAGIC_DEBUG) != 0) | ||
47 | + (void) fprintf(stderr, "%lld >= %lld = %d\n", | ||
48 | + (long long)v, (long long)l, matched); | ||
49 | + } | ||
50 | + break; | ||
51 | + | ||
52 | + case 'l': | ||
53 | + if (m->flag & UNSIGNED) { | ||
54 | + matched = v <= l; | ||
55 | + if ((ms->flags & MAGIC_DEBUG) != 0) | ||
56 | + (void) fprintf(stderr, "%llu <= %llu = %d\n", | ||
57 | + (unsigned long long)v, | ||
58 | + (unsigned long long)l, matched); | ||
59 | + } | ||
60 | + else { | ||
61 | + matched = (int64_t) v <= (int64_t) l; | ||
62 | + if ((ms->flags & MAGIC_DEBUG) != 0) | ||
63 | + (void) fprintf(stderr, "%lld <= %lld = %d\n", | ||
64 | + (long long)v, (long long)l, matched); | ||
65 | + } | ||
66 | + break; | ||
67 | + | ||
68 | case '&': | ||
69 | matched = (v & l) == l; | ||
70 | if ((ms->flags & MAGIC_DEBUG) != 0) | ||
diff --git a/meta/packages/file/file/native-fix.diff b/meta/packages/file/file/native-fix.diff deleted file mode 100644 index d17215a1b4..0000000000 --- a/meta/packages/file/file/native-fix.diff +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | Index: file-4.16/magic/Makefile.am | ||
2 | =================================================================== | ||
3 | --- file-4.16.orig/magic/Makefile.am 2005-08-18 17:20:49.000000000 +0200 | ||
4 | +++ file-4.16/magic/Makefile.am 2006-03-08 17:01:13.000000000 +0100 | ||
5 | @@ -18,7 +18,7 @@ | ||
6 | if IS_CROSS_COMPILE | ||
7 | FILE_COMPILE = file | ||
8 | else | ||
9 | -FILE_COMPILE = $(top_builddir)/src/file | ||
10 | +FILE_COMPILE = ../src/file | ||
11 | endif | ||
12 | |||
13 | magic.mgc: magic | ||
diff --git a/meta/packages/file/file/stringb-compat.patch b/meta/packages/file/file/stringb-compat.patch new file mode 100644 index 0000000000..055e43e30a --- /dev/null +++ b/meta/packages/file/file/stringb-compat.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | `B' in file 4.x has the same meaning with `W' in file 5, | ||
2 | let `B' be an alias of `W'. | ||
3 | |||
4 | 8/17/2010 - created by Qing He <qing.he@intel.com> | ||
5 | |||
6 | diff --git a/src/apprentice.c b/src/apprentice.c | ||
7 | index 58826c3..3d4c3cf 100644 | ||
8 | --- a/src/apprentice.c | ||
9 | +++ b/src/apprentice.c | ||
10 | @@ -1340,6 +1340,7 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp, | ||
11 | "zero range"); | ||
12 | l = t - 1; | ||
13 | break; | ||
14 | + case CHAR_COMPACT_BLANK: | ||
15 | case CHAR_COMPACT_WHITESPACE: | ||
16 | m->str_flags |= STRING_COMPACT_WHITESPACE; | ||
17 | break; | ||
18 | diff --git a/src/file.h b/src/file.h | ||
19 | index c07f2d4..42cf416 100644 | ||
20 | --- a/src/file.h | ||
21 | +++ b/src/file.h | ||
22 | @@ -282,6 +282,7 @@ struct magic { | ||
23 | #define STRING_TEXTTEST BIT(5) | ||
24 | #define STRING_BINTEST BIT(6) | ||
25 | #define CHAR_COMPACT_WHITESPACE 'W' | ||
26 | +#define CHAR_COMPACT_BLANK 'B' | ||
27 | #define CHAR_COMPACT_OPTIONAL_WHITESPACE 'w' | ||
28 | #define CHAR_IGNORE_LOWERCASE 'c' | ||
29 | #define CHAR_IGNORE_UPPERCASE 'C' | ||