diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2020-10-24 09:41:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-24 09:41:26 +0100 |
| commit | 71ef27fef92a926059183f0cda927b29aaf74793 (patch) | |
| tree | ee0eb40c6cb6486fdd4d0b295f4795a250999995 /src/common.cpp | |
| parent | 6ea000b648d3900fd6de6434a29ae51b81e953cb (diff) | |
| parent | dfac45942c488ee59b2b9a40fd682ead818465ba (diff) | |
Merge pull request #753 from Tetralux/fix-dirnoexist-error
Fix error message when importing package that does not exist
Diffstat (limited to 'src/common.cpp')
| -rw-r--r-- | src/common.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/common.cpp b/src/common.cpp index 8d2802b1f..350127e1e 100644 --- a/src/common.cpp +++ b/src/common.cpp @@ -968,7 +968,20 @@ ReadDirectoryError read_directory(String path, Array<FileInfo> *fi) { DIR *dir = opendir(c_path); if (!dir) { - return ReadDirectory_NotDir; + switch (errno) { + case ENOENT: + return ReadDirectory_NotExists; + case EACCES: + return ReadDirectory_Permission; + case ENOTDIR: + return ReadDirectory_NotDir; + default: + // ENOMEM: out of memory + // EMFILE: per-process limit on open fds reached + // ENFILE: system-wide limit on total open files reached + return ReadDirectory_Unknown; + } + GB_PANIC("unreachable"); } array_init(fi, a, 0, 100); |