aboutsummaryrefslogtreecommitdiff
path: root/nomsu.moon
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-05-24 15:51:06 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2018-05-24 15:51:16 -0700
commit0c07968e0716745f7b510a76e94ccf0910e4c4e7 (patch)
treeea924c3a7d8f8262bb380563b832fd3c2c5061e0 /nomsu.moon
parent5758626bf7ac1789a2ef871b7683b23084c3dbb7 (diff)
Added error checking for bad paths.
Diffstat (limited to 'nomsu.moon')
-rwxr-xr-xnomsu.moon8
1 files changed, 7 insertions, 1 deletions
diff --git a/nomsu.moon b/nomsu.moon
index f7fc601..50a95d9 100755
--- a/nomsu.moon
+++ b/nomsu.moon
@@ -77,7 +77,13 @@ all_files = (path)->
return iterate_single, path
-- TODO: improve sanitization
path = path\gsub("\\","\\\\")\gsub("`","")\gsub('"','\\"')\gsub("$","")
- return io.popen('find -L "'..path..'" -type f -name "*.nom"')\lines!
+ return coroutine.wrap ->
+ f = io.popen('find -L "'..path..'" -type f -name "*.nom"')
+ for line in f\lines!
+ coroutine.yield(line)
+ success = f\close!
+ unless success
+ error("Invalid file path: "..tostring(path))
line_counter = re.compile([[
lines <- {| line (%nl line)* |}