aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2025-05-28 10:40:21 +1000
committerSteve Bennett <steveb@workware.net.au>2025-05-28 10:41:00 +1000
commit36d2288d248f218dd9c913cd243e86455cce8c74 (patch)
tree856661de7112c6999b0bd822c0d509c6e55d0025
parent08e690f48438754dbacc529b9969ed6162cf5107 (diff)
downloadjimtcl-36d2288d248f218dd9c913cd243e86455cce8c74.zip
jimtcl-36d2288d248f218dd9c913cd243e86455cce8c74.tar.gz
jimtcl-36d2288d248f218dd9c913cd243e86455cce8c74.tar.bz2
add morphos support
Based on https://fossil-scm.org/home/info/084f17dcd6278849 Fixes: #346 Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r--jim-file.c4
-rwxr-xr-xmake-bootstrap-jim4
2 files changed, 6 insertions, 2 deletions
diff --git a/jim-file.c b/jim-file.c
index 75d1af8..01e305a 100644
--- a/jim-file.c
+++ b/jim-file.c
@@ -560,8 +560,8 @@ static int mkdir_all(char *path)
/* Create the parent and try again */
continue;
}
- /* Maybe it already exists as a directory */
- if (errno == EEXIST) {
+ /* Maybe it already exists as a directory. MorphOS can return ENOTDIR instead of EEXIST */
+ if (errno == EEXIST || errno == ENOTDIR) {
jim_stat_t sb;
if (Jim_Stat(path, &sb) == 0 && S_ISDIR(sb.st_mode)) {
diff --git a/make-bootstrap-jim b/make-bootstrap-jim
index 662384f..3a10ac6 100755
--- a/make-bootstrap-jim
+++ b/make-bootstrap-jim
@@ -92,7 +92,11 @@ cat <<EOF
#else
#define _GNU_SOURCE
#endif
+#ifndef __ixemul__
#define HAVE_FORK
+#else
+#define HAVE_VFORK
+#endif
#define HAVE_WAITPID
#define HAVE_ISATTY
#define HAVE_MKSTEMP