diff --git a/lib/node/config.js b/lib/node/config.js index 059a1c76..adf50284 100644 --- a/lib/node/config.js +++ b/lib/node/config.js @@ -370,6 +370,7 @@ Config.prototype.buf = function buf(key, fallback) { Config.prototype.array = function array(key, fallback) { var value = this.get(key); + var i, result, parts, part; if (fallback === undefined) fallback = null; @@ -383,7 +384,19 @@ Config.prototype.array = function array(key, fallback) { return value; } - return value.trim().split(/\s*,\s*/); + parts = value.trim().split(/\s*,\s*/); + result = []; + + for (i = 0; i < parts.length; i++) { + part = parts[i]; + + if (part.length === 0) + continue; + + result.push(part); + } + + return result; }; /** diff --git a/lib/utils/validator.js b/lib/utils/validator.js index 3f4dceff..db255fd0 100644 --- a/lib/utils/validator.js +++ b/lib/utils/validator.js @@ -466,6 +466,7 @@ Validator.prototype.buf = function buf(key, fallback, enc) { Validator.prototype.array = function array(key, fallback) { var value = this.get(key); + var i, result, parts, part; if (fallback === undefined) fallback = null; @@ -479,7 +480,19 @@ Validator.prototype.array = function array(key, fallback) { return value; } - return value.trim().split(/\s*,\s*/); + parts = value.trim().split(/\s*,\s*/); + result = []; + + for (i = 0; i < parts.length; i++) { + part = parts[i]; + + if (part.length === 0) + continue; + + result.push(part); + } + + return result; }; /**