diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2014-11-08 19:40:23 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2014-11-09 00:06:55 +0000 |
commit | 998f9b499088d8cfb1c06000212468ee780aaca7 (patch) | |
tree | 07f5a86a0c0eab99f02dfe8e98203067801ca173 | |
parent | 3c1aeebb1e0b50793831969d69656914e05f9a80 (diff) | |
download | netsurf-998f9b499088d8cfb1c06000212468ee780aaca7.tar.gz netsurf-998f9b499088d8cfb1c06000212468ee780aaca7.tar.bz2 |
Use macros for clarity
-rw-r--r-- | amiga/libs.c | 29 | ||||
-rw-r--r-- | amiga/misc.h | 1 |
2 files changed, 17 insertions, 13 deletions
diff --git a/amiga/libs.c b/amiga/libs.c index 25169ab84..0a818eba8 100644 --- a/amiga/libs.c +++ b/amiga/libs.c @@ -17,27 +17,30 @@ */ #include "amiga/libs.h" +#include "amiga/misc.h" #include <proto/exec.h> -void ami_libs_open(void) -{ - if((KeymapBase = OpenLibrary("keymap.library",37))) { - IKeymap = (struct KeymapIFace *)GetInterface(KeymapBase, "main", 1, NULL); +#define AMINS_OPEN_LIB(LIB, LIBVER, SUFFIX, INTERFACE, INTVER) \ + if((SUFFIX##Base = OpenLibrary(LIB, LIBVER))) { \ + I##SUFFIX = (struct SUFFIX##IFace *)GetInterface(SUFFIX##Base, INTERFACE, INTVER, NULL); \ + } else { \ + warn_user("CompError", LIB); \ } - if((ApplicationBase = OpenLibrary("application.library", 53))) { - IApplication = (struct ApplicationIFace *)GetInterface(ApplicationBase, "application", 2, NULL); - } +#define AMINS_CLOSE_LIB(SUFFIX) \ + if(I##SUFFIX) DropInterface((struct Interface *)I##SUFFIX); \ + if(SUFFIX##Base) CloseLibrary(SUFFIX##Base); + +void ami_libs_open(void) +{ + AMINS_OPEN_LIB("keymap.library", 37, Keymap, "main", 1) + AMINS_OPEN_LIB("application.library", 53, Application, "application", 2) } void ami_libs_close(void) { - - if(IApplication) DropInterface((struct Interface *)IApplication); - if(ApplicationBase) CloseLibrary(ApplicationBase); - - if(IKeymap) DropInterface((struct Interface *)IKeymap); - if(KeymapBase) CloseLibrary(KeymapBase); + AMINS_CLOSE_LIB(Application) + AMINS_CLOSE_LIB(Keymap) } diff --git a/amiga/misc.h b/amiga/misc.h index ce2d94793..9adbb7352 100644 --- a/amiga/misc.h +++ b/amiga/misc.h @@ -18,6 +18,7 @@ #ifndef AMIGA_MISC_H #define AMIGA_MISC_H +#include <exec/types.h> extern struct gui_file_table *amiga_file_table; |