summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xamiga/launch.c26
-rw-r--r--examples/elements.c10
-rw-r--r--examples/outline.c10
-rw-r--r--tests/benchmark/benchmark.c10
-rw-r--r--tests/runtests.c7
-rwxr-xr-xxmlwf/xmlfile.c4
-rwxr-xr-xxmlwf/xmlwf.c7
7 files changed, 24 insertions, 50 deletions
diff --git a/amiga/launch.c b/amiga/launch.c
index 11bbf1c..73e526e 100755
--- a/amiga/launch.c
+++ b/amiga/launch.c
@@ -1,5 +1,5 @@
/*
-** Copyright (c) 2001-2005 Expat maintainers.
+** Copyright (c) 2001-2007 Expat maintainers.
**
** Permission is hereby granted, free of charge, to any person obtaining
** a copy of this software and associated documentation files (the
@@ -28,27 +28,17 @@ struct Library* ExpatBase = 0;
struct ExpatIFace* IExpat = 0;
-int amiga_main(int argc, char** argv);
-void cleanup();
+void setup() __attribute__((constructor));
+void cleanup() __attribute__((destructor));
-int main(int argc, char** argv)
+void setup()
{
- int result = -1;
-
- atexit(cleanup);
-
- ExpatBase = OpenLibrary("expat.library", 2);
- if ( ExpatBase != 0 ) {
- IExpat = (struct ExpatIFace*)GetInterface(ExpatBase, "main", 1, NULL);
- if ( IExpat != 0 ) {
- result = amiga_main(argc, argv);
- }
+ ExpatBase = OpenLibrary("expat.library", 4);
+ IExpat = (struct ExpatIFace*)GetInterface(ExpatBase, "main", 1, NULL);
+ if ( IExpat == 0 ) {
+ DebugPrintF("Can't open expat.library\n");
}
-
- cleanup();
-
- return result;
}
diff --git a/examples/elements.c b/examples/elements.c
index 04a5399..6b8f855 100644
--- a/examples/elements.c
+++ b/examples/elements.c
@@ -8,6 +8,10 @@
#include <stdio.h>
#include "expat.h"
+#if defined(__amigaos__) && defined(__USE_INLINE__)
+#include <proto/expat.h>
+#endif
+
#ifdef XML_LARGE_SIZE
#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400
#define XML_FMT_INT_MOD "I64"
@@ -36,14 +40,8 @@ endElement(void *userData, const char *name)
*depthPtr -= 1;
}
-#ifdef AMIGA_SHARED_LIB
-#include <proto/expat.h>
-int
-amiga_main(int argc, char *argv[])
-#else
int
main(int argc, char *argv[])
-#endif
{
char buf[BUFSIZ];
XML_Parser parser = XML_ParserCreate(NULL);
diff --git a/examples/outline.c b/examples/outline.c
index 78d5399..3a3c838 100644
--- a/examples/outline.c
+++ b/examples/outline.c
@@ -25,6 +25,10 @@
#include <stdio.h>
#include <expat.h>
+#if defined(__amigaos__) && defined(__USE_INLINE__)
+#include <proto/expat.h>
+#endif
+
#ifdef XML_LARGE_SIZE
#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400
#define XML_FMT_INT_MOD "I64"
@@ -65,14 +69,8 @@ end(void *data, const char *el)
Depth--;
}
-#ifdef AMIGA_SHARED_LIB
-#include <proto/expat.h>
-int
-amiga_main(int argc, char *argv[])
-#else
int
main(int argc, char *argv[])
-#endif
{
XML_Parser p = XML_ParserCreate(NULL);
if (! p) {
diff --git a/tests/benchmark/benchmark.c b/tests/benchmark/benchmark.c
index 30a5284..0f0fd18 100644
--- a/tests/benchmark/benchmark.c
+++ b/tests/benchmark/benchmark.c
@@ -4,6 +4,10 @@
#include <time.h>
#include "expat.h"
+#if defined(__amigaos__) && defined(__USE_INLINE__)
+#include <proto/expat.h>
+#endif
+
#ifdef XML_LARGE_SIZE
#define XML_FMT_INT_MOD "ll"
#else
@@ -18,13 +22,7 @@ usage(const char *prog, int rc)
exit(rc);
}
-#ifdef AMIGA_SHARED_LIB
-#include <proto/expat.h>
-int
-amiga_main(int argc, char *argv[])
-#else
int main (int argc, char *argv[])
-#endif
{
XML_Parser parser;
char *XMLBuf, *XMLBufEnd, *XMLBufPtr;
diff --git a/tests/runtests.c b/tests/runtests.c
index fdb33c2..3521c08 100644
--- a/tests/runtests.c
+++ b/tests/runtests.c
@@ -17,7 +17,7 @@
#include "chardata.h"
#include "minicheck.h"
-#ifdef AMIGA_SHARED_LIB
+#if defined(__amigaos__) && defined(__USE_INLINE__)
#include <proto/expat.h>
#endif
@@ -1482,13 +1482,8 @@ make_suite(void)
}
-#ifdef AMIGA_SHARED_LIB
-int
-amiga_main(int argc, char *argv[])
-#else
int
main(int argc, char *argv[])
-#endif
{
int i, nf;
int verbosity = CK_NORMAL;
diff --git a/xmlwf/xmlfile.c b/xmlwf/xmlfile.c
index 6c75446..99eeeaa 100755
--- a/xmlwf/xmlfile.c
+++ b/xmlwf/xmlfile.c
@@ -12,7 +12,7 @@
#include "winconfig.h"
#elif defined(MACOS_CLASSIC)
#include "macconfig.h"
-#elif defined(__amigaos4__)
+#elif defined(__amigaos__)
#include "amigaconfig.h"
#elif defined(__WATCOMC__)
#include "watcomconfig.h"
@@ -29,7 +29,7 @@
#include <io.h>
#endif
-#ifdef AMIGA_SHARED_LIB
+#if defined(__amigaos__) && defined(__USE_INLINE__)
#include <proto/expat.h>
#endif
diff --git a/xmlwf/xmlwf.c b/xmlwf/xmlwf.c
index 82082a7..41a433d 100755
--- a/xmlwf/xmlwf.c
+++ b/xmlwf/xmlwf.c
@@ -16,7 +16,7 @@
#include <crtdbg.h>
#endif
-#ifdef AMIGA_SHARED_LIB
+#if defined(__amigaos__) && defined(__USE_INLINE__)
#include <proto/expat.h>
#endif
@@ -639,13 +639,8 @@ usage(const XML_Char *prog, int rc)
exit(rc);
}
-#ifdef AMIGA_SHARED_LIB
-int
-amiga_main(int argc, char *argv[])
-#else
int
tmain(int argc, XML_Char **argv)
-#endif
{
int i, j;
const XML_Char *outputDir = NULL;