Author: jim
Date: Sun Aug  6 12:56:43 2017
New Revision: 1804232

URL: http://svn.apache.org/viewvc?rev=1804232&view=rev
Log:
Close BZ127484 with the trunk fix for Windows builds and expat 2.2.3

Modified:
    openoffice/branches/AOO414/main/expat/expat-2.2.3.patch

Modified: openoffice/branches/AOO414/main/expat/expat-2.2.3.patch
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO414/main/expat/expat-2.2.3.patch?rev=1804232&r1=1804231&r2=1804232&view=diff
==============================================================================
--- openoffice/branches/AOO414/main/expat/expat-2.2.3.patch (original)
+++ openoffice/branches/AOO414/main/expat/expat-2.2.3.patch Sun Aug  6 12:56:43 
2017
@@ -1,6 +1,6 @@
 --- misc/expat-2.2.3/lib/makefile.mk   Wed Aug 20 14:33:55 2008
 +++ misc/build/expat-2.2.3/lib/makefile.mk     Wed Aug 20 14:26:42 2008
-@@ -1 +1,83 @@
+@@ -1 +1,85 @@
 -dummy
 +#**************************************************************
 +#  
@@ -45,21 +45,23 @@
 +CDEFS+=-DHAVE_MEMMOVE -DHAVE_BCOPY
 +.ENDIF # "$(OS)"=="MACOSX"
 +
-+SLOFILES=$(SLO)$/xmlparse.obj \
-+         $(SLO)$/xmlrole.obj \
-+         $(SLO)$/xmltok.obj
-+
 +SECOND_BUILD=UNICODE
 +UNICODE_SLOFILES=$(SLO)$/xmlparse.obj
 +UNICODECDEFS+=-DXML_UNICODE
 +
++.IF "$(OS)"=="WNT"
++ LOADLIBOBJFILE=$(SLO)/loadlibrary.obj
++.ELSE
++ LOADLIBOBJFILE=
++.ENDIF
++
 +LIB1ARCHIV=$(LB)$/libascii_$(TARGET)_xmlparse.a
 +LIB1TARGET=$(SLB)$/ascii_$(TARGET)_xmlparse.lib
-+LIB1OBJFILES=$(SLO)$/xmlparse.obj
++LIB1OBJFILES=$(SLO)$/xmlparse.obj $(LOADLIBOBJFILE)
 +
 +LIB2ARCHIV=$(LB)$/lib$(TARGET)_xmlparse.a
 +LIB2TARGET=$(SLB)$/$(TARGET)_xmlparse.lib
-+LIB2OBJFILES =$(REAL_UNICODE_SLOFILES)
++LIB2OBJFILES =$(REAL_UNICODE_SLOFILES) $(LOADLIBOBJFILE)
 +
 +LIB3ARCHIV=$(LB)$/lib$(TARGET)_xmltok.a
 +LIB3TARGET=$(SLB)$/$(TARGET)_xmltok.lib
@@ -85,329 +87,3 @@
 +.INCLUDE :  set_wntx64.mk
 +.INCLUDE :    target.mk
 +.INCLUDE :  tg_wntx64.mk
-diff -ur misc/expat-2.2.3/lib/xmlparse.c misc/build/expat-2.2.3/lib/xmlparse.c
---- misc/expat-2.2.3/lib/xmlparse.c    2017-08-02 09:40:48.000000000 -0400
-+++ misc/build/expat-2.2.3/lib/xmlparse.c      2017-08-04 18:33:34.000000000 
-0400
-@@ -1,3 +1,145 @@
-+/***************************************************************************
-+ *                                  _   _ ____  _
-+ *  Project                     ___| | | |  _ \| |
-+ *                             / __| | | | |_) | |
-+ *                            | (__| |_| |  _ <| |___
-+ *                             \___|\___/|_| \_\_____|
-+ *
-+ * Copyright (C) 2016 - 2017, Steve Holme, <steve_ho...@hotmail.com>.
-+ *
-+ * All rights reserved.
-+ *
-+ * Permission to  use, copy,  modify, and distribute  this software  for any
-+ * purpose with  or without fee is  hereby granted, provided that  the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * 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 OF
-+ * THIRD PARTY RIGHTS. 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.
-+ *
-+ * Except as contained in this notice,  the name of a copyright holder shall
-+ * not be used in advertising or otherwise to promote the sale, use or other
-+ * dealings  in this  Software without  prior written  authorization of  the
-+ * copyright holder.
-+ *
-+ ***************************************************************************/
-+
-+#if defined(_WIN32)
-+
-+#include <windows.h>
-+#include <tchar.h>
-+
-+
-+HMODULE _Expat_LoadLibrary(LPCTSTR filename);
-+
-+
-+#if !defined(LOAD_WITH_ALTERED_SEARCH_PATH)
-+#define LOAD_WITH_ALTERED_SEARCH_PATH  0x00000008
-+#endif
-+
-+#if !defined(LOAD_LIBRARY_SEARCH_SYSTEM32)
-+#define LOAD_LIBRARY_SEARCH_SYSTEM32   0x00000800
-+#endif
-+
-+/* We use our own typedef here since some headers might lack these */
-+typedef HMODULE (APIENTRY *LOADLIBRARYEX_FN)(LPCTSTR, HANDLE, DWORD);
-+
-+/* See function definitions in winbase.h */
-+#ifdef UNICODE
-+#  ifdef _WIN32_WCE
-+#    define LOADLIBARYEX  L"LoadLibraryExW"
-+#  else
-+#    define LOADLIBARYEX  "LoadLibraryExW"
-+#  endif
-+#else
-+#  define LOADLIBARYEX    "LoadLibraryExA"
-+#endif
-+
-+
-+/*
-+ * _Expat_LoadLibrary()
-+ *
-+ * This is used to dynamically load DLLs using the most secure method 
available
-+ * for the version of Windows that we are running on.
-+ *
-+ * Parameters:
-+ *
-+ * filename  [in] - The filename or full path of the DLL to load. If only the
-+ *                  filename is passed then the DLL will be loaded from the
-+ *                  Windows system directory.
-+ *
-+ * Returns the handle of the module on success; otherwise NULL.
-+ */
-+HMODULE _Expat_LoadLibrary(LPCTSTR filename)
-+{
-+  HMODULE hModule = NULL;
-+  LOADLIBRARYEX_FN pLoadLibraryEx = NULL;
-+
-+  /* Get a handle to kernel32 so we can access it's functions at runtime */
-+  HMODULE hKernel32 = GetModuleHandle(TEXT("kernel32"));
-+  if(!hKernel32)
-+    return NULL;
-+
-+  /* Attempt to find LoadLibraryEx() which is only available on Windows 2000
-+     and above */
-+  pLoadLibraryEx = (LOADLIBRARYEX_FN) GetProcAddress(hKernel32, LOADLIBARYEX);
-+
-+  /* Detect if there's already a path in the filename and load the library if
-+     there is. Note: Both back slashes and forward slashes have been supported
-+     since the earlier days of DOS at an API level although they are not
-+     supported by command prompt */
-+  if(_tcspbrk(filename, TEXT("\\/"))) {
-+    /** !checksrc! disable BANNEDFUNC 1 **/
-+    hModule = pLoadLibraryEx ?
-+      pLoadLibraryEx(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH) :
-+      LoadLibrary(filename);
-+  }
-+  /* Detect if KB2533623 is installed, as LOAD_LIBARY_SEARCH_SYSTEM32 is only
-+     supported on Windows Vista, Windows Server 2008, Windows 7 and Windows
-+     Server 2008 R2 with this patch or natively on Windows 8 and above */
-+  else if(pLoadLibraryEx && GetProcAddress(hKernel32, "AddDllDirectory")) {
-+    /* Load the DLL from the Windows system directory */
-+    hModule = pLoadLibraryEx(filename, NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
-+  }
-+  else {
-+    /* Attempt to get the Windows system path */
-+    UINT systemdirlen = GetSystemDirectory(NULL, 0);
-+    if(systemdirlen) {
-+      /* Allocate space for the full DLL path (Room for the null terminator
-+         is included in systemdirlen) */
-+      size_t filenamelen = _tcslen(filename);
-+      TCHAR *path = malloc(sizeof(TCHAR) * (systemdirlen + 1 + filenamelen));
-+      if(path && GetSystemDirectory(path, systemdirlen)) {
-+        /* Calculate the full DLL path */
-+        _tcscpy(path + _tcslen(path), TEXT("\\"));
-+        _tcscpy(path + _tcslen(path), filename);
-+
-+        /* Load the DLL from the Windows system directory */
-+        /** !checksrc! disable BANNEDFUNC 1 **/
-+        hModule = pLoadLibraryEx ?
-+          pLoadLibraryEx(path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH) :
-+          LoadLibrary(path);
-+
-+      }
-+      free(path);
-+    }
-+  }
-+
-+  return hModule;
-+}
-+
-+#else /* defined(_WIN32) */
-+
-+/* ISO C requires a translation unit to contain at least one declaration
-+   [-Wempty-translation-unit] */
-+typedef int _TRANSLATION_UNIT_LOAD_LIBRARY_C_NOT_EMTPY;
-+
-+#endif /* defined(_WIN32) */
-+
- /* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
-    See the file COPYING for copying permission.
- 
-@@ -314,7 +456,7 @@
-   int nDefaultAtts;
-   int allocDefaultAtts;
-   DEFAULT_ATTRIBUTE *defaultAtts;
--} ELEMENT_TYPE;
-+} XMLPARSE_ELEMENT_TYPE;
- 
- typedef struct {
-   HASH_TABLE generalEntities;
-@@ -414,7 +556,7 @@
- addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
-            const XML_Char *uri, BINDING **bindingsPtr);
- static int
--defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *, XML_Bool isCdata,
-+defineAttribute(XMLPARSE_ELEMENT_TYPE *type, ATTRIBUTE_ID *, XML_Bool isCdata,
-                 XML_Bool isId, const XML_Char *dfltValue, XML_Parser parser);
- static enum XML_Error
- storeAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata,
-@@ -426,7 +568,7 @@
- getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start,
-                const char *end);
- static int
--setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *);
-+setElementTypePrefix(XML_Parser parser, XMLPARSE_ELEMENT_TYPE *);
- static enum XML_Error
- storeEntityValue(XML_Parser parser, const ENCODING *enc, const char *start,
-                  const char *end);
-@@ -487,7 +629,7 @@
- 
- static int FASTCALL nextScaffoldPart(XML_Parser parser);
- static XML_Content * build_model(XML_Parser parser);
--static ELEMENT_TYPE *
-+static XMLPARSE_ELEMENT_TYPE *
- getElementType(XML_Parser parser, const ENCODING *enc,
-                const char *ptr, const char *end);
- 
-@@ -585,7 +727,7 @@
-   const XML_Char *m_declAttributeType;
-   const XML_Char *m_declNotationName;
-   const XML_Char *m_declNotationPublicId;
--  ELEMENT_TYPE *m_declElementType;
-+  XMLPARSE_ELEMENT_TYPE *m_declElementType;
-   ATTRIBUTE_ID *m_declAttributeId;
-   XML_Bool m_declAttributeIsCdata;
-   XML_Bool m_declAttributeIsId;
-@@ -843,7 +985,6 @@
- #ifdef _WIN32
- 
- typedef BOOLEAN (APIENTRY *RTLGENRANDOM_FUNC)(PVOID, ULONG);
--HMODULE _Expat_LoadLibrary(LPCTSTR filename);  /* see loadlibrary.c */
- 
- /* Obtain entropy on Windows XP / Windows Server 2003 and later.
-  * Hint on RtlGenRandom and the following article from libsodium.
-@@ -1285,7 +1426,7 @@
-   XML_AttlistDeclHandler oldAttlistDeclHandler;
-   XML_EntityDeclHandler oldEntityDeclHandler;
-   XML_XmlDeclHandler oldXmlDeclHandler;
--  ELEMENT_TYPE * oldDeclElementType;
-+  XMLPARSE_ELEMENT_TYPE * oldDeclElementType;
- 
-   void *oldUserData;
-   void *oldHandlerArg;
-@@ -3181,7 +3322,7 @@
-           BINDING **bindingsPtr)
- {
-   DTD * const dtd = _dtd;  /* save one level of indirection */
--  ELEMENT_TYPE *elementType;
-+  XMLPARSE_ELEMENT_TYPE *elementType;
-   int nDefaultAtts;
-   const XML_Char **appAtts;   /* the attribute list for the application */
-   int attIndex = 0;
-@@ -3194,13 +3335,13 @@
-   const XML_Char *localPart;
- 
-   /* lookup the element type name */
--  elementType = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, 
tagNamePtr->str,0);
-+  elementType = (XMLPARSE_ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, 
tagNamePtr->str,0);
-   if (!elementType) {
-     const XML_Char *name = poolCopyString(&dtd->pool, tagNamePtr->str);
-     if (!name)
-       return XML_ERROR_NO_MEMORY;
--    elementType = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, name,
--                                         sizeof(ELEMENT_TYPE));
-+    elementType = (XMLPARSE_ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, 
name,
-+                                         sizeof(XMLPARSE_ELEMENT_TYPE));
-     if (!elementType)
-       return XML_ERROR_NO_MEMORY;
-     if (ns && !setElementTypePrefix(parser, elementType))
-@@ -5202,7 +5343,7 @@
-       quant = XML_CQUANT_PLUS;
-     elementContent:
-       if (dtd->in_eldecl) {
--        ELEMENT_TYPE *el;
-+        XMLPARSE_ELEMENT_TYPE *el;
-         const XML_Char *name;
-         int nameLen;
-         const char *nxt = (quant == XML_CQUANT_NONE
-@@ -6010,7 +6151,7 @@
- 
- 
- static int
--defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata,
-+defineAttribute(XMLPARSE_ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool 
isCdata,
-                 XML_Bool isId, const XML_Char *value, XML_Parser parser)
- {
-   DEFAULT_ATTRIBUTE *att;
-@@ -6054,7 +6195,7 @@
- }
- 
- static int
--setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *elementType)
-+setElementTypePrefix(XML_Parser parser, XMLPARSE_ELEMENT_TYPE *elementType)
- {
-   DTD * const dtd = _dtd;  /* save one level of indirection */
-   const XML_Char *name;
-@@ -6367,7 +6508,7 @@
-   HASH_TABLE_ITER iter;
-   hashTableIterInit(&iter, &(p->elementTypes));
-   for (;;) {
--    ELEMENT_TYPE *e = (ELEMENT_TYPE *)hashTableIterNext(&iter);
-+    XMLPARSE_ELEMENT_TYPE *e = (XMLPARSE_ELEMENT_TYPE 
*)hashTableIterNext(&iter);
-     if (!e)
-       break;
-     if (e->allocDefaultAtts != 0)
-@@ -6409,7 +6550,7 @@
-   HASH_TABLE_ITER iter;
-   hashTableIterInit(&iter, &(p->elementTypes));
-   for (;;) {
--    ELEMENT_TYPE *e = (ELEMENT_TYPE *)hashTableIterNext(&iter);
-+    XMLPARSE_ELEMENT_TYPE *e = (XMLPARSE_ELEMENT_TYPE 
*)hashTableIterNext(&iter);
-     if (!e)
-       break;
-     if (e->allocDefaultAtts != 0)
-@@ -6493,16 +6634,16 @@
- 
-   for (;;) {
-     int i;
--    ELEMENT_TYPE *newE;
-+    XMLPARSE_ELEMENT_TYPE *newE;
-     const XML_Char *name;
--    const ELEMENT_TYPE *oldE = (ELEMENT_TYPE *)hashTableIterNext(&iter);
-+    const XMLPARSE_ELEMENT_TYPE *oldE = (XMLPARSE_ELEMENT_TYPE 
*)hashTableIterNext(&iter);
-     if (!oldE)
-       break;
-     name = poolCopyString(&(newDtd->pool), oldE->name);
-     if (!name)
-       return 0;
--    newE = (ELEMENT_TYPE *)lookup(oldParser, &(newDtd->elementTypes), name,
--                                  sizeof(ELEMENT_TYPE));
-+    newE = (XMLPARSE_ELEMENT_TYPE *)lookup(oldParser, 
&(newDtd->elementTypes), name,
-+                                  sizeof(XMLPARSE_ELEMENT_TYPE));
-     if (!newE)
-       return 0;
-     if (oldE->nDefaultAtts) {
-@@ -7166,7 +7307,7 @@
-   return ret;
- }
- 
--static ELEMENT_TYPE *
-+static XMLPARSE_ELEMENT_TYPE *
- getElementType(XML_Parser parser,
-                const ENCODING *enc,
-                const char *ptr,
-@@ -7174,11 +7315,11 @@
- {
-   DTD * const dtd = _dtd;  /* save one level of indirection */
-   const XML_Char *name = poolStoreString(&dtd->pool, enc, ptr, end);
--  ELEMENT_TYPE *ret;
-+  XMLPARSE_ELEMENT_TYPE *ret;
- 
-   if (!name)
-     return NULL;
--  ret = (ELEMENT_TYPE *) lookup(parser, &dtd->elementTypes, name, 
sizeof(ELEMENT_TYPE));
-+  ret = (XMLPARSE_ELEMENT_TYPE *) lookup(parser, &dtd->elementTypes, name, 
sizeof(XMLPARSE_ELEMENT_TYPE));
-   if (!ret)
-     return NULL;
-   if (ret->name != name)


Reply via email to