From ccda0501803b34ea21dee20578e9caa76db86957 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Mon, 19 Apr 2021 13:46:00 +0100 Subject: [PATCH] Change type of MakeLink parameter depending on target AmigaOS variation. --- setter/src/amiga/links.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/setter/src/amiga/links.c b/setter/src/amiga/links.c index d706964..a1c86dd 100644 --- a/setter/src/amiga/links.c +++ b/setter/src/amiga/links.c @@ -28,6 +28,15 @@ Copyright (C) 2011-2021 Natalia Portillo #include "../include/defs.h" #include "../log.h" +// This is a stupid way of doing things by the Amiga/AROS/MorphOS SDK creators +#if defined(__amigaos4__) +#define LNKLONG APTR +#elif defined(__AROS__) +#define LNKLONG SIPTR +#else +#define LNKLONG LONG +#endif + void Links(const char* path) { BPTR pathLock; @@ -67,11 +76,11 @@ void Links(const char* path) Write(h, "This is the target for the links.\n", strlen("This is the target for the links.\n")); - ret = MakeLink((CONST_STRPTR) "HARD", (LONG)h, LINK_HARD); + ret = MakeLink((CONST_STRPTR) "HARD", (LNKLONG)h, LINK_HARD); if(ret != DOSTRUE) log_write("Error %d creating hard link.\n", IoErr()); - ret = MakeLink((CONST_STRPTR) "SYMBOLIC", (LONG) "TARGET", LINK_SOFT); + ret = MakeLink((CONST_STRPTR) "SYMBOLIC", (LNKLONG) "TARGET", LINK_SOFT); if(ret != DOSTRUE) log_write("Error %d creating symbolic link.\n", IoErr()); @@ -85,7 +94,7 @@ void Links(const char* path) return; } - ret = MakeLink((CONST_STRPTR) "DIRLINK", (LONG)h, LINK_HARD); + ret = MakeLink((CONST_STRPTR) "DIRLINK", (LNKLONG)h, LINK_HARD); if(ret != DOSTRUE) log_write("Error %d creating directory hard link.\n", IoErr()); }