Merge pull request #64 from ksherlock/mli_fix

unix host mli bug fixes
This commit is contained in:
Dagen Brock 2019-03-27 08:17:05 -05:00 committed by GitHub
commit 00e8bbd3e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 4 deletions

View File

@ -1048,6 +1048,11 @@ static int mli_open(unsigned dcb, const char *name, const char *path) {
word16 terr = host_get_file_info(path, &fi);
if (terr) return terr;
#if _WIN32
file->h = INVALID_HANDLE_VALUE;
#else
file->fd = -1;
#endif
if (fi.storage_type == 0x0f || fi.storage_type == 0x0d) {
unsigned blocks;

View File

@ -126,7 +126,7 @@ void host_set_date_time(word32 ptr, time_t time) {
word16 tmp = 0;
tmp |= (tm->tm_year % 100) << 9;
tmp |= tm->tm_mon << 5;
tmp |= (tm->tm_mon + 1) << 5;
tmp |= tm->tm_mday;
set_memory16_c(ptr, tmp, 0);
@ -146,7 +146,7 @@ word32 host_convert_date_time(time_t time) {
word16 dd = 0;
dd |= (tm->tm_year % 100) << 9;
dd |= tm->tm_mon << 5;
dd |= (tm->tm_mon + 1) << 5;
dd |= tm->tm_mday;
word16 tt = 0;
@ -503,10 +503,10 @@ unsigned host_storage_type(const char *path, word16 *error) {
*error = host_map_errno_path(errno, path);
return 0;
}
if (S_ISREG(st.st_mode)) {
if (S_ISDIR(st.st_mode)) {
return host_is_root(&st) ? 0x0f : directoryFile;
}
if (S_ISDIR(st.st_mode)) return standardFile;
if (S_ISREG(st.st_mode)) return standardFile;
*error = badStoreType;
return 0;
}