diff --git a/Assets/licenses/license_tinydir.md b/Assets/licenses/license_tinydir.md new file mode 100644 index 00000000..43f1d9d1 --- /dev/null +++ b/Assets/licenses/license_tinydir.md @@ -0,0 +1,28 @@ +Copyright (c) 2013-2016, tinydir authors: +- Cong Xu +- Lautis Sun +- Baudouin Feildel +- Andargor +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +https://github.com/cxong/tinydir diff --git a/Sources/arm/sys/File.hx b/Sources/arm/sys/File.hx index 3d6f6201..0eec777c 100644 --- a/Sources/arm/sys/File.hx +++ b/Sources/arm/sys/File.hx @@ -18,6 +18,9 @@ class File { #end public static function readDirectory(path: String, foldersOnly = false): Array { + #if (krom_windows || krom_linux) + return Krom.readDirectory(path, foldersOnly).split("\n"); + #else var save = Path.data() + Path.sep + "tmp.txt"; Krom.sysCommand(foldersOnly ? cmd_dir_nofile : cmd_dir + ' "' + path + '" > "' + save + '"'); var str = Bytes.ofData(Krom.loadBlob(save)).toString(); @@ -25,6 +28,7 @@ class File { var files: Array = []; for (file in ar) if (file.length > 0) files.push(file.rtrim()); return files; + #end } public static function createDirectory(path: String) {