On Tue, Oct 5, 2010 at 6:43 PM, Guenter Knauf <fua...@apache.org> 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 */