From 42923725cbaba07f500d31e64ff81fc7b7c3a5c6 Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Mon, 11 May 2015 20:15:53 -0700 Subject: [PATCH 1/3] _ --- inifiled | 2 +- src/main.d | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/inifiled b/inifiled index 256db3c..72393ec 160000 --- a/inifiled +++ b/inifiled @@ -1 +1 @@ -Subproject commit 256db3c28db9e3824b7ed5f646964c19f37dd32d +Subproject commit 72393ec2e0711630ad93a15c66b0ea567b5b44df diff --git a/src/main.d b/src/main.d index cea527b..d275baf 100644 --- a/src/main.d +++ b/src/main.d @@ -274,18 +274,29 @@ int run(string[] args) return 0; } + string[] expandArgs(string[] args) { + // isFile can throw if it's a broken symlink. + bool isFileSafe(T)(T a){ + try{ + return isFile(a); + } + catch{ + return false; + } + } + string[] rVal; if (args.length == 1) args ~= "."; foreach (arg; args[1 ..$]) { - if (isFile(arg)) + if (isFileSafe(arg)) rVal ~= arg; else foreach (item; dirEntries(arg, SpanMode.breadth).map!(a => a.name)) { - if (isFile(item) && (item.endsWith(`.d`) || item.endsWith(`.di`))) + if (isFileSafe(item) && (item.endsWith(`.d`) || item.endsWith(`.di`))) rVal ~= item; else continue; From fbd88477b89c4a937cd6fa4748b670319cb7c83c Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Mon, 11 May 2015 21:28:09 -0700 Subject: [PATCH 2/3] fix https://github.com/Hackerpilot/Dscanner/issues/251 --- src/main.d | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main.d b/src/main.d index d275baf..36a3fd7 100644 --- a/src/main.d +++ b/src/main.d @@ -278,11 +278,13 @@ int run(string[] args) string[] expandArgs(string[] args) { // isFile can throw if it's a broken symlink. - bool isFileSafe(T)(T a){ + bool isFileSafe(T)(T a) + { try{ return isFile(a); } - catch{ + catch(FileException) + { return false; } } From d283576390ecd70dd50321253485aafda14343a7 Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Mon, 11 May 2015 21:30:01 -0700 Subject: [PATCH 3/3] fix https://github.com/Hackerpilot/Dscanner/issues/251 --- src/main.d | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.d b/src/main.d index 36a3fd7..69f85f2 100644 --- a/src/main.d +++ b/src/main.d @@ -280,7 +280,8 @@ string[] expandArgs(string[] args) // isFile can throw if it's a broken symlink. bool isFileSafe(T)(T a) { - try{ + try + { return isFile(a); } catch(FileException)