/*
-** 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
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;
}
#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"
*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);
#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"
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) {
#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
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;
#include "chardata.h"
#include "minicheck.h"
-#ifdef AMIGA_SHARED_LIB
+#if defined(__amigaos__) && defined(__USE_INLINE__)
#include <proto/expat.h>
#endif
}
-#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;
#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"
#include <io.h>
#endif
-#ifdef AMIGA_SHARED_LIB
+#if defined(__amigaos__) && defined(__USE_INLINE__)
#include <proto/expat.h>
#endif
#include <crtdbg.h>
#endif
-#ifdef AMIGA_SHARED_LIB
+#if defined(__amigaos__) && defined(__USE_INLINE__)
#include <proto/expat.h>
#endif
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;