File: nom-7.patch

package info (click to toggle)
rust-tree-magic-mini 3.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 204 kB
  • sloc: makefile: 2
file content (82 lines) | stat: -rw-r--r-- 2,572 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
This patch is based on a revert of upstream commit
70b0c5867ad2fcf97ebb61c6ad922a4b7a6bc06d, adapted for use in the Debian package
by Peter Michael Green.

Index: tree-magic-mini/src/fdo_magic/ruleset.rs
===================================================================
--- tree-magic-mini.orig/src/fdo_magic/ruleset.rs
+++ tree-magic-mini/src/fdo_magic/ruleset.rs
@@ -1,14 +1,13 @@
 use super::MagicRule;
 
 use nom::{
-    AsChar,
     IResult,
-    Parser,
     bytes::complete::{is_not, tag, take, take_while},
+    character::is_digit,
     combinator::{map, map_res, opt},
     multi::many0,
     number::complete::be_u16,
-    sequence::{delimited, preceded, terminated},
+    sequence::{delimited, preceded, terminated, tuple},
 };
 use petgraph::prelude::*;
 use std::collections::HashMap;
@@ -17,26 +16,26 @@ use std::str;
 // Singular magic ruleset
 fn magic_rules(input: &[u8]) -> IResult<&[u8], MagicRule<'_>> {
     let int_or = |default| {
-        map(take_while(AsChar::is_dec_digit), move |digits| {
+        map(take_while(is_digit), move |digits| {
             str::from_utf8(digits).unwrap().parse().unwrap_or(default)
         })
     };
 
-    let (input, (indent_level, start_off, val_len)) = (
+    let (input, (indent_level, start_off, val_len)) = tuple((
         terminated(int_or(0), tag(">")),
         terminated(int_or(0), tag("=")),
         be_u16,
-    ).parse(input)?;
+    ))(input)?;
 
     let (input, (val, mask, _word_len, region_len)) = terminated(
-        (
+        tuple((
             take(val_len),
             opt(preceded(tag("&"), take(val_len))),
             opt(preceded(tag("~"), int_or(1))),
             opt(preceded(tag("+"), int_or(0))),
-        ),
+        )),
         tag("\n"),
-    ).parse(input)?;
+    )(input)?;
 
     Ok((
         input,
@@ -66,8 +65,8 @@ fn ruleset(input: &[u8]) -> IResult<&[u8
         str::from_utf8,
     );
 
-    let magic_entry = (mime, many0(magic_rules));
-    preceded(tag("MIME-Magic\0\n"), many0(magic_entry)).parse(input)
+    let magic_entry = tuple((mime, many0(magic_rules)));
+    preceded(tag("MIME-Magic\0\n"), many0(magic_entry))(input)
 }
 
 fn gen_graph(magic_rules: Vec<MagicRule<'_>>) -> DiGraph<MagicRule<'_>, u32> {
Index: tree-magic-mini/Cargo.toml
===================================================================
--- tree-magic-mini.orig/Cargo.toml
+++ tree-magic-mini/Cargo.toml
@@ -54,7 +54,7 @@ path = "src/lib.rs"
 version = "2.0"
 
 [dependencies.nom]
-version = "8.0"
+version = "7.1.3"
 
 [dependencies.petgraph]
 version = ">= 0.6.4, < 0.9"