summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/expat/examples/outline.c
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/expat/examples/outline.c')
-rw-r--r--3rdparty/expat/examples/outline.c95
1 files changed, 54 insertions, 41 deletions
diff --git a/3rdparty/expat/examples/outline.c b/3rdparty/expat/examples/outline.c
index 3a3c8385512..d996b8e3a8d 100644
--- a/3rdparty/expat/examples/outline.c
+++ b/3rdparty/expat/examples/outline.c
@@ -1,62 +1,70 @@
-/*****************************************************************
- * outline.c
- *
- * Copyright 1999, Clark Cooper
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the license contained in the
- * COPYING file that comes with the expat distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Read an XML document from standard input and print an element
- * outline on standard output.
- * Must be used with Expat compiled for UTF-8 output.
- */
-
+/* Read an XML document from standard input and print an element
+ outline on standard output.
+ Must be used with Expat compiled for UTF-8 output.
+ __ __ _
+ ___\ \/ /_ __ __ _| |_
+ / _ \\ /| '_ \ / _` | __|
+ | __// \| |_) | (_| | |_
+ \___/_/\_\ .__/ \__,_|\__|
+ |_| XML parser
+
+ Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
+ Copyright (c) 2000-2017 Expat development team
+ Licensed under the MIT license:
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to permit
+ persons to whom the Software is furnished to do so, subject to the
+ following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
#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"
+# define XML_FMT_INT_MOD "ll"
#else
-#define XML_FMT_INT_MOD "ll"
+# define XML_FMT_INT_MOD "l"
#endif
+
+#ifdef XML_UNICODE_WCHAR_T
+# define XML_FMT_STR "ls"
#else
-#define XML_FMT_INT_MOD "l"
+# define XML_FMT_STR "s"
#endif
-#define BUFFSIZE 8192
+#define BUFFSIZE 8192
char Buff[BUFFSIZE];
int Depth;
static void XMLCALL
-start(void *data, const char *el, const char **attr)
-{
+start(void *data, const XML_Char *el, const XML_Char **attr) {
int i;
+ (void)data;
for (i = 0; i < Depth; i++)
printf(" ");
- printf("%s", el);
+ printf("%" XML_FMT_STR, el);
for (i = 0; attr[i]; i += 2) {
- printf(" %s='%s'", attr[i], attr[i + 1]);
+ printf(" %" XML_FMT_STR "='%" XML_FMT_STR "'", attr[i], attr[i + 1]);
}
printf("\n");
@@ -64,15 +72,19 @@ start(void *data, const char *el, const char **attr)
}
static void XMLCALL
-end(void *data, const char *el)
-{
+end(void *data, const XML_Char *el) {
+ (void)data;
+ (void)el;
+
Depth--;
}
int
-main(int argc, char *argv[])
-{
+main(int argc, char *argv[]) {
XML_Parser p = XML_ParserCreate(NULL);
+ (void)argc;
+ (void)argv;
+
if (! p) {
fprintf(stderr, "Couldn't allocate memory for parser\n");
exit(-1);
@@ -92,7 +104,8 @@ main(int argc, char *argv[])
done = feof(stdin);
if (XML_Parse(p, Buff, len, done) == XML_STATUS_ERROR) {
- fprintf(stderr, "Parse error at line %" XML_FMT_INT_MOD "u:\n%s\n",
+ fprintf(stderr,
+ "Parse error at line %" XML_FMT_INT_MOD "u:\n%" XML_FMT_STR "\n",
XML_GetCurrentLineNumber(p),
XML_ErrorString(XML_GetErrorCode(p)));
exit(-1);