On Tue, Oct 5, 2010 at 6:43 PM, Guenter Knauf <[email protected]> wrote:
> Am 05.10.2010 22:58, schrieb Jeff Trawick:
>>
>> does anybody strongly believe that we should get expat fixed in 0.9.x
>> (whether they have time or not)?
>
> /me asking dumb question:
> is it much more work than just copying over from 1.3 ?
doesn't seem like it
attached is a diff between apr-util/0.9.x/xml and apr-util-1.3.9/xml,
minus config.{sub,guess} and generated files
not much build stuff to think about
I didn't check for apr-util 1.3.10-dev/xml fixes prior to the rebase
on later expat
Only in .: Makefile.in
diff -ru ./NWGNUmakefile
/Users/trawick/opensource/apr-util-1.3.9/xml/NWGNUmakefile
--- ./NWGNUmakefile 2010-10-07 17:22:46.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/NWGNUmakefile 2004-11-24
18:41:24.000000000 -0500
@@ -247,11 +247,7 @@
# Any specialized rules here
#
-$(OBJDIR)/%.o: expat/lib/%.c $(OBJDIR)\$(NLM_NAME)_cc.opt
- @echo Compiling $<
- $(CC) expat/lib\$(<F) -o=$(OBJDIR)\$(@F) @$(OBJDIR)\$(NLM_NAME)_cc.opt
-
-
+vpath %.c expat/lib
#
# Include the 'tail' makefile that has targets that depend on variables defined
diff -ru ./apr_xml.c /Users/trawick/opensource/apr-util-1.3.9/xml/apr_xml.c
--- ./apr_xml.c 2010-10-07 17:22:46.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/apr_xml.c 2009-06-03
10:56:02.000000000 -0400
@@ -1,9 +1,9 @@
-/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@@ -25,23 +25,31 @@
#include "apu_config.h"
-#ifdef APR_HAVE_OLD_EXPAT
-#include "xmlparse.h"
+#if defined(HAVE_XMLPARSE_XMLPARSE_H)
+#include <xmlparse/xmlparse.h>
+#elif defined(HAVE_XMLTOK_XMLPARSE_H)
+#include <xmltok/xmlparse.h>
+#elif defined(HAVE_XML_XMLPARSE_H)
+#include <xml/xmlparse.h>
#else
-#include "expat.h"
+#include <expat.h>
#endif
#define DEBUG_CR "\r\n"
+static const char APR_KW_xmlns[] = { 0x78, 0x6D, 0x6C, 0x6E, 0x73, '\0' };
+static const char APR_KW_xmlns_lang[] = { 0x78, 0x6D, 0x6C, 0x3A, 0x6C, 0x61,
0x6E, 0x67, '\0' };
+static const char APR_KW_DAV[] = { 0x44, 0x41, 0x56, 0x3A, '\0' };
+
/* errors related to namespace processing */
#define APR_XML_NS_ERROR_UNKNOWN_PREFIX (-1000)
#define APR_XML_NS_ERROR_INVALID_DECL (-1001)
/* test for a namespace prefix that begins with [Xx][Mm][Ll] */
#define APR_XML_NS_IS_RESERVED(name) \
- ( (name[0] == 'X' || name[0] == 'x') && \
- (name[1] == 'M' || name[1] == 'm') && \
- (name[2] == 'L' || name[2] == 'l') )
+ ( (name[0] == 0x58 || name[0] == 0x78) && \
+ (name[1] == 0x4D || name[1] == 0x6D) && \
+ (name[2] == 0x4C || name[2] == 0x6C) )
/* the real (internal) definition of the parser context */
@@ -168,12 +176,12 @@
for (prev = NULL, attr = elem->attr;
attr;
attr = attr->next) {
- if (strncmp(attr->name, "xmlns", 5) == 0) {
+ if (strncmp(attr->name, APR_KW_xmlns, 5) == 0) {
const char *prefix = &attr->name[5];
apr_xml_ns_scope *ns_scope;
/* test for xmlns:foo= form and xmlns= form */
- if (*prefix == ':') {
+ if (*prefix == 0x3A) {
/* a namespace prefix declaration must have a
non-empty value. */
if (attr->value[0] == '\0') {
@@ -207,7 +215,7 @@
/* Note: prev will not be advanced since we just removed "attr" */
}
- else if (strcmp(attr->name, "xml:lang") == 0) {
+ else if (strcmp(attr->name, APR_KW_xmlns_lang) == 0) {
/* save away the language (in quoted form) */
elem->lang = apr_xml_quote_string(parser->p, attr->value, 1);
@@ -235,7 +243,7 @@
elem->lang = elem->parent->lang;
/* adjust the element's namespace */
- colon = strchr(elem_name, ':');
+ colon = strchr(elem_name, 0x3A);
if (colon == NULL) {
/*
* The element is using the default namespace, which will always
@@ -267,7 +275,7 @@
*/
char *attr_name = (char *)attr->name;
- colon = strchr(attr_name, ':');
+ colon = strchr(attr_name, 0x3A);
if (colon == NULL) {
/*
* Attributes do NOT use the default namespace. Therefore,
@@ -368,11 +376,11 @@
parser->doc->namespaces = apr_array_make(pool, 5, sizeof(const char *));
/* ### is there a way to avoid hard-coding this? */
- apr_xml_insert_uri(parser->doc->namespaces, "DAV:");
+ apr_xml_insert_uri(parser->doc->namespaces, APR_KW_DAV);
parser->xp = XML_ParserCreate(NULL);
if (parser->xp == NULL) {
- (*apr_pool_get_abort(pool))(APR_ENOMEM);
+ (*apr_pool_abort_get(pool))(APR_ENOMEM);
return NULL;
}
@@ -407,7 +415,7 @@
parser->error = APR_XML_ERROR_PARSE_DONE;
}
else {
- int rv = XML_Parse(parser->xp, data, len, is_final);
+ int rv = XML_Parse(parser->xp, data, (int)len, is_final);
if (rv == 0) {
parser->error = APR_XML_ERROR_EXPAT;
@@ -918,3 +926,90 @@
*pelt = uri; /* assume uri is const or in a pool */
return uri_array->nelts - 1;
}
+
+/* convert the element to EBCDIC */
+#if APR_CHARSET_EBCDIC
+static apr_status_t apr_xml_parser_convert_elem(apr_xml_elem *e,
+ apr_xlate_t *convset)
+{
+ apr_xml_attr *a;
+ apr_xml_elem *ec;
+ apr_text *t;
+ apr_size_t inbytes_left, outbytes_left;
+ apr_status_t status;
+
+ inbytes_left = outbytes_left = strlen(e->name);
+ status = apr_xlate_conv_buffer(convset, e->name, &inbytes_left, (char *)
e->name, &outbytes_left);
+ if (status) {
+ return status;
+ }
+
+ for (t = e->first_cdata.first; t != NULL; t = t->next) {
+ inbytes_left = outbytes_left = strlen(t->text);
+ status = apr_xlate_conv_buffer(convset, t->text, &inbytes_left, (char
*) t->text, &outbytes_left);
+ if (status) {
+ return status;
+ }
+ }
+
+ for (t = e->following_cdata.first; t != NULL; t = t->next) {
+ inbytes_left = outbytes_left = strlen(t->text);
+ status = apr_xlate_conv_buffer(convset, t->text, &inbytes_left, (char
*) t->text, &outbytes_left);
+ if (status) {
+ return status;
+ }
+ }
+
+ for (a = e->attr; a != NULL; a = a->next) {
+ inbytes_left = outbytes_left = strlen(a->name);
+ status = apr_xlate_conv_buffer(convset, a->name, &inbytes_left, (char
*) a->name, &outbytes_left);
+ if (status) {
+ return status;
+ }
+ inbytes_left = outbytes_left = strlen(a->value);
+ status = apr_xlate_conv_buffer(convset, a->value, &inbytes_left, (char
*) a->value, &outbytes_left);
+ if (status) {
+ return status;
+ }
+ }
+
+ for (ec = e->first_child; ec != NULL; ec = ec->next) {
+ status = apr_xml_parser_convert_elem(ec, convset);
+ if (status) {
+ return status;
+ }
+ }
+ return APR_SUCCESS;
+}
+
+/* convert the whole document to EBCDIC */
+APU_DECLARE(apr_status_t) apr_xml_parser_convert_doc(apr_pool_t *pool,
+ apr_xml_doc *pdoc,
+ apr_xlate_t *convset)
+{
+ apr_status_t status;
+ /* Don't convert the namespaces: they are constant! */
+ if (pdoc->namespaces != NULL) {
+ int i;
+ apr_array_header_t *namespaces;
+ namespaces = apr_array_make(pool, pdoc->namespaces->nelts,
sizeof(const char *));
+ if (namespaces == NULL)
+ return APR_ENOMEM;
+ for (i = 0; i < pdoc->namespaces->nelts; i++) {
+ apr_size_t inbytes_left, outbytes_left;
+ char *ptr = (char *) APR_XML_GET_URI_ITEM(pdoc->namespaces, i);
+ ptr = apr_pstrdup(pool, ptr);
+ if ( ptr == NULL)
+ return APR_ENOMEM;
+ inbytes_left = outbytes_left = strlen(ptr);
+ status = apr_xlate_conv_buffer(convset, ptr, &inbytes_left, ptr,
&outbytes_left);
+ if (status) {
+ return status;
+ }
+ apr_xml_insert_uri(namespaces, ptr);
+ }
+ pdoc->namespaces = namespaces;
+ }
+ return apr_xml_parser_convert_elem(pdoc->root, convset);
+}
+#endif
diff -ru ./expat/buildconf.sh
/Users/trawick/opensource/apr-util-1.3.9/xml/expat/buildconf.sh
--- ./expat/buildconf.sh 2010-10-07 17:22:46.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/expat/buildconf.sh
2006-03-25 16:08:55.000000000 -0500
@@ -1,9 +1,9 @@
#! /bin/sh
#
-# Find libtoolize. Prefer 1.x versions.
+# Find libtoolize
#
-libtoolize=`conftools/PrintPath glibtoolize1 glibtoolize libtoolize
libtoolize15 libtoolize14`
+libtoolize=`conftools/PrintPath glibtoolize libtoolize libtoolize15
libtoolize14`
if [ "x$libtoolize" = "x" ]; then
echo "libtoolize not found in path"
exit 1
@@ -28,34 +28,26 @@
$libtoolize --copy --automake
#
-# find libtool.m4
+# Build aclocal.m4 from libtool's libtool.m4
#
-if [ ! -f libtool.m4 ]; then
+if [ -f libtool.m4 ]; then
+ ltfile=libtool.m4
+else
ltpath=`dirname $libtoolize`
ltfile=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/libtool.m4}
- if [ -f $ltfile ]; then
- echo "libtool.m4 found at $ltfile"
- cp $ltfile libtool.m4
- else
- echo "libtool.m4 not found - aborting!"
- exit 1
- fi
fi
-
-#
-# Build aclocal.m4 from libtool's m4 files
-#
+echo "Incorporating $ltfile into aclocal.m4 ..."
echo "dnl THIS FILE IS AUTOMATICALLY GENERATED BY buildconf.sh" > aclocal.m4
echo "dnl edits here will be lost" >> aclocal.m4
+cat $ltfile >> aclocal.m4
+
+if [ -f ltsugar.m4 ]; then
+ echo "Incorporating ltsugar.m4 into aclocal.m4 ..."
+ cat ltsugar.m4 >> aclocal.m4
+fi
-for m4file in libtool.m4 ltsugar.m4 ltoptions.m4 ltversion.m4 lt~obsolete.m4
-do
- if [ -f $m4file ]; then
- echo "Incorporating $m4file into aclocal.m4 ..."
- cat $m4file >> aclocal.m4
- rm -f $m4file
- fi
-done
+# Clean up again
+rm -f libtool.m4 ltsugar.m4
cross_compile_warning="warning: AC_TRY_RUN called without default to allow
cross compiling"
diff -ru ./expat/config.h.in
/Users/trawick/opensource/apr-util-1.3.9/xml/expat/config.h.in
--- ./expat/config.h.in 2010-10-07 17:25:25.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/expat/config.h.in
2009-08-04 17:07:26.000000000 -0400
@@ -8,6 +8,9 @@
#endif
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
/* byte order is unknown due to cross-compilation */
#undef AP_UNKNOWN_BYTE_ORDER
@@ -74,9 +77,17 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
-/* Define to 1 if your processor stores words with the most significant byte
- first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
diff -ru ./expat/configure.in
/Users/trawick/opensource/apr-util-1.3.9/xml/expat/configure.in
--- ./expat/configure.in 2010-10-07 17:22:46.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/expat/configure.in
2005-04-25 07:52:38.000000000 -0400
@@ -12,7 +12,6 @@
AC_INIT(Makefile.in)
AC_CONFIG_AUX_DIR(conftools)
-AC_CONFIG_MACRO_DIR(.)
dnl
dnl Follow the GNU/Linux convention of odd number minor version for
diff -ru ./expat/conftools/mkinstalldirs
/Users/trawick/opensource/apr-util-1.3.9/xml/expat/conftools/mkinstalldirs
--- ./expat/conftools/mkinstalldirs 2010-10-07 17:22:45.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/expat/conftools/mkinstalldirs
2004-11-24 18:41:24.000000000 -0500
@@ -4,7 +4,7 @@
# Created: 1993-05-16
# Public domain
-# $Id: mkinstalldirs 106503 2004-11-24 23:45:40Z nd $
+# $Id: mkinstalldirs 106501 2004-11-24 23:41:24Z nd $
errstatus=0
diff -ru ./expat/lib/expat.dsp
/Users/trawick/opensource/apr-util-1.3.9/xml/expat/lib/expat.dsp
--- ./expat/lib/expat.dsp 2010-10-07 17:22:46.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/expat/lib/expat.dsp
2007-10-05 02:14:41.000000000 -0400
@@ -51,8 +51,14 @@
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /machine:I386
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll
+# Begin Special Build Tool
+TargetPath=.\Release\expat.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest
$(TargetPath).manifest -outputresource:$(TargetPath);2
+# End Special Build Tool
!ELSEIF "$(CFG)" == "expat - Win32 Debug"
@@ -77,8 +83,14 @@
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /debug /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /debug /pdbtype:sept
+# Begin Special Build Tool
+TargetPath=.\Debug\expat.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+PostBuild_Cmds=if exist $(TargetPath).manifest mt.exe -manifest
$(TargetPath).manifest -outputresource:$(TargetPath);2
+# End Special Build Tool
!ENDIF
@@ -99,7 +111,7 @@
!ELSEIF "$(CFG)" == "expat - Win32 Debug"
-# ADD CPP /GX- /Od /D VERSION=\"expat_1.95.2\"
+# ADD CPP /EHsc- /Od /D VERSION=\"expat_1.95.2\"
!ENDIF
Only in /Users/trawick/opensource/apr-util-1.3.9/xml/expat/lib:
map_osd_ebcdic_df04_1.h
Only in /Users/trawick/opensource/apr-util-1.3.9/xml/expat/lib:
osd_ebcdic_df04_1.h
diff -ru ./expat/lib/xml.dsp
/Users/trawick/opensource/apr-util-1.3.9/xml/expat/lib/xml.dsp
--- ./expat/lib/xml.dsp 2010-10-07 17:22:46.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/expat/lib/xml.dsp
2007-10-17 16:45:51.000000000 -0400
@@ -4,7 +4,7 @@
# TARGTYPE "Win32 (x86) Static Library" 0x0104
-CFG=xml - Win32 Debug
+CFG=xml - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
@@ -13,12 +13,14 @@
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "xml.mak" CFG="xml - Win32 Debug"
+!MESSAGE NMAKE /f "xml.mak" CFG="xml - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "xml - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "xml - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "xml - x64 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "xml - x64 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
@@ -41,7 +43,7 @@
# PROP Intermediate_Dir "LibR"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D
"_MBCS" /FD /c
-# ADD CPP /nologo /MD /W3 /O2 /Oy- /Zi /I "." /D "WIN32" /D "NDEBUG" /D
"_WINDOWS" /D "_MBCS" /D VERSION=\"expat_1.95.2\" /Fd"LibR\xml_src" /FD /c
+# ADD CPP /nologo /MD /W3 /Zi /O2 /Oy- /I "." /D "WIN32" /D "NDEBUG" /D
"_WINDOWS" /D "_MBCS" /D VERSION=\"expat_1.95.2\" /Fo"$(INTDIR)\"
/Fd"$(OUTDIR)\xml" /FD /c
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
@@ -49,7 +51,7 @@
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
+# ADD LIB32 /nologo /out:"LibR\xml.lib"
!ELSEIF "$(CFG)" == "xml - Win32 Debug"
@@ -64,8 +66,8 @@
# PROP Intermediate_Dir "LibD"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D
"_WINDOWS" /D "_MBCS" /FD /c
-# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "." /D "WIN32" /D "_DEBUG" /D
"_WINDOWS" /D "_MBCS" /D VERSION=\"expat_1.95.2\" /Fd"LibD\xml_src" /FD /c
+# ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"
/D "_MBCS" /FD /EHsc /c
+# ADD CPP /nologo /MDd /W3 /Zi /Od /I "." /D "WIN32" /D "_DEBUG" /D "_WINDOWS"
/D "_MBCS" /D VERSION=\"expat_1.95.2\" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\xml" /FD
/EHsc /c
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
@@ -73,7 +75,54 @@
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
+# ADD LIB32 /nologo /out:"LibD\xml.lib"
+
+!ELSEIF "$(CFG)" == "xml - x64 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "x64\LibR"
+# PROP BASE Intermediate_Dir "x64\LibR"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "x64\LibR"
+# PROP Intermediate_Dir "x64\LibR"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D
"_MBCS" /FD /c
+# ADD CPP /nologo /MD /W3 /Zi /O2 /Oy- /I "." /D "WIN32" /D "NDEBUG" /D
"_WINDOWS" /D "_MBCS" /D VERSION=\"expat_1.95.2\" /Fo"$(INTDIR)\"
/Fd"$(OUTDIR)\xml" /FD /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"x64\LibR\xml.lib"
+
+!ELSEIF "$(CFG)" == "xml - x64 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "x64\LibD"
+# PROP BASE Intermediate_Dir "x64\LibD"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "x64\LibD"
+# PROP Intermediate_Dir "x64\LibD"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"
/D "_MBCS" /FD /EHsc /c
+# ADD CPP /nologo /MDd /W3 /Zi /Od /I "." /D "WIN32" /D "_DEBUG" /D "_WINDOWS"
/D "_MBCS" /D VERSION=\"expat_1.95.2\" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\xml" /FD
/EHsc /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"x64\LibD\xml.lib"
!ENDIF
@@ -81,6 +130,8 @@
# Name "xml - Win32 Release"
# Name "xml - Win32 Debug"
+# Name "xml - x64 Release"
+# Name "xml - x64 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
@@ -182,6 +233,26 @@
# End Custom Build
+!ELSEIF "$(CFG)" == "xml - x64 Release"
+
+# Begin Custom Build - Creating expat.h from expat.h.in
+InputPath=.\expat.h.in
+
+".\expat.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\expat.h.in > .\expat.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "xml - x64 Debug"
+
+# Begin Custom Build - Creating expat.h from expat.h.in
+InputPath=.\expat.h.in
+
+".\expat.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\expat.h.in > .\expat.h
+
+# End Custom Build
+
!ENDIF
# End Source File
@@ -209,6 +280,26 @@
# End Custom Build
+!ELSEIF "$(CFG)" == "xml - x64 Release"
+
+# Begin Custom Build - Creating config.h from winconfig.h
+InputPath=.\winconfig.h
+
+".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\winconfig.h > .\config.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "xml - x64 Debug"
+
+# Begin Custom Build - Creating config.h from winconfig.h
+InputPath=.\winconfig.h
+
+".\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\winconfig.h > .\config.h
+
+# End Custom Build
+
!ENDIF
# End Source File
diff -ru ./expat/lib/xmlparse.c
/Users/trawick/opensource/apr-util-1.3.9/xml/expat/lib/xmlparse.c
--- ./expat/lib/xmlparse.c 2010-10-07 17:22:46.000000000 -0400
+++ /Users/trawick/opensource/apr-util-1.3.9/xml/expat/lib/xmlparse.c
2005-10-20 04:35:47.000000000 -0400
@@ -3428,7 +3428,6 @@
if (!poolAppend(pool, enc, ptr, next))
return XML_ERROR_NO_MEMORY;
break;
- break;
case XML_TOK_TRAILING_CR:
next = ptr + enc->minBytesPerChar;
/* fall through */