]> Sergey Matveev's repositories - path-extractor.git/commitdiff
Shouldn't contain \
authorEdgar HIPP <hipp.edg@gmail.com>
Sun, 30 Aug 2015 15:07:07 +0000 (17:07 +0200)
committerEdgar HIPP <hipp.edg@gmail.com>
Sun, 30 Aug 2015 15:07:07 +0000 (17:07 +0200)
extractor.go
pe_test.go

index a0d43dd822b4561fed3c59ccbb0da5d5c5463d89..8e80d2c1378494bb1e05a8edb945e478573814fe 100644 (file)
@@ -9,7 +9,7 @@ type MatchOptions struct {
 }
 
 func pathExtractor(input string) [][][]byte {
-       surroundRegex := "[^]()!#[ \\t:'\"]*"
+       surroundRegex := "[^]()!#[ \\t:'\"\\\\]*"
        r := regexp.MustCompile("(" + surroundRegex + "[\\./]" + surroundRegex + ")")
        temp := [][][]byte{}
        temp = r.FindAllSubmatch([]byte(input), -1)
index bfcd26a47bf94b880e9c43957134da083d63fc3d..a2c563aabcc068f417ef299cdc5688a4f269b8f3 100644 (file)
@@ -13,6 +13,14 @@ func TestEverything(t *testing.T) {
                t.Errorf("Matches sentence", output)
        }
 
+       output = GetAllMatches("/usr/bin/env\\", MatchOptions{})
+       if len(output) != 1 {
+               t.Errorf("Doesn't match escaped", output)
+       }
+       if output[0] != "/usr/bin/env" {
+               t.Errorf("Doesn't match escaped exactly", output)
+       }
+
        output = GetAllMatches("!#/usr/bin/env", MatchOptions{})
        if len(output) != 1 {
                t.Errorf("Doesn't match shebang", output)