summaryrefslogtreecommitdiff
path: root/frontends/amiga/libs.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2016-08-18 00:20:08 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2016-08-18 00:20:08 +0100
commit404b522119daf6d49687a304c9fa2693e8e8f81a (patch)
tree812f19ffe723d2d6d6972880eeb5422d2efb91f2 /frontends/amiga/libs.c
parent2d5db505e70336e56e739d56d8ca358fc6bc4a6a (diff)
downloadnetsurf-404b522119daf6d49687a304c9fa2693e8e8f81a.tar.gz
netsurf-404b522119daf6d49687a304c9fa2693e8e8f81a.tar.bz2
Fail if the library interface doesn't open.
This will happen when attempting to open old 68k libraries with no separate interface file, but may also occur when the interface name or version doesn't exist (although the library version number _should_ prevent that)
Diffstat (limited to 'frontends/amiga/libs.c')
-rw-r--r--frontends/amiga/libs.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/frontends/amiga/libs.c b/frontends/amiga/libs.c
index 00facf957..d7271896f 100644
--- a/frontends/amiga/libs.c
+++ b/frontends/amiga/libs.c
@@ -61,6 +61,12 @@
I##PREFIX = (struct PREFIX##IFace *)GetInterface((struct Library *)PREFIX##Base, INTERFACE, INTVER, NULL); \
if(I##PREFIX == NULL) { \
LOG("Failed to get %s interface v%d of %s", INTERFACE, INTVER, LIB); \
+ if(FAIL == true) { \
+ STRPTR error = ASPrintf("Unable to open interface %s v%d\nof %s v%ld (fatal error)", INTERFACE, INTVER, LIB, LIBVER); \
+ ami_misc_fatal_error(error); \
+ FreeVec(error); \
+ return false; \
+ } \
} \
} else { \
LOG("Failed to open %s v%d", LIB, LIBVER); \