unix host mli bug fixes

1. file/directory  storage types were reversed
2. month was off-by-one.
This commit is contained in:
Kelvin Sherlock 2019-02-17 18:46:19 -05:00
parent 216d1f1b35
commit 78591a37d0

View File

@ -128,7 +128,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);
@ -148,7 +148,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;
@ -505,10 +505,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;
}