View | Details | Raw Unified | Return to bug 171537
Collapse All | Expand All

(-)./Makefile (+1 lines)
Lines 7-12 Link Here
7
7
8
PORTNAME=	xerces-c3
8
PORTNAME=	xerces-c3
9
PORTVERSION=	3.1.1
9
PORTVERSION=	3.1.1
10
PORTREVISION=	1
10
CATEGORIES=	textproc
11
CATEGORIES=	textproc
11
MASTER_SITES=	${MASTER_SITE_APACHE}
12
MASTER_SITES=	${MASTER_SITE_APACHE}
12
MASTER_SITE_SUBDIR=	xerces/c/3/sources
13
MASTER_SITE_SUBDIR=	xerces/c/3/sources
(-)./files/patch-src-xercesc-util-XMLUTF8Transcoder.cpp (+53 lines)
Line 0 Link Here
1
--- src.orig/xercesc/util/XMLUTF8Transcoder.cpp
2
+++ src/xercesc/util/XMLUTF8Transcoder.cpp
3
@@ -178,7 +178,7 @@ XMLUTF8Transcoder::transcodeFrom(const  XMLByte* const          srcData
4
         if((gUTFByteIndicatorTest[trailingBytes] & *srcPtr) != gUTFByteIndicator[trailingBytes]) {
5
             char pos[2] = {(char)0x31, 0}; 
6
             char len[2] = {(char)(trailingBytes+0x31), 0};
7
-            char byte[2] = {*srcPtr,0};
8
+            char byte[2] = {static_cast<char>(*srcPtr),0};
9
             ThrowXMLwithMemMgr3(UTFDataFormatException, XMLExcepts::UTF8_FormatError, pos, byte, len, getMemoryManager());
10
         }
11
 
12
@@ -246,8 +246,8 @@ XMLUTF8Transcoder::transcodeFrom(const  XMLByte* const          srcData
13
                 //
14
                 if (( *srcPtr == 0xE0) && ( *(srcPtr+1) < 0xA0)) 
15
                 {
16
-                    char byte0[2] = {*srcPtr    ,0};
17
-                    char byte1[2] = {*(srcPtr+1),0};
18
+                    char byte0[2] = {static_cast<char>(*srcPtr)    ,0};
19
+                    char byte1[2] = {static_cast<char>(*(srcPtr+1)),0};
20
 
21
                     ThrowXMLwithMemMgr2(UTFDataFormatException
22
                                       , XMLExcepts::UTF8_Invalid_3BytesSeq
23
@@ -284,8 +284,8 @@ XMLUTF8Transcoder::transcodeFrom(const  XMLByte* const          srcData
24
 
25
                 if ((*srcPtr == 0xED) && (*(srcPtr+1) >= 0xA0))
26
                 {
27
-                    char byte0[2] = {*srcPtr,    0};
28
-                    char byte1[2] = {*(srcPtr+1),0};
29
+                    char byte0[2] = {static_cast<char>(*srcPtr),    0};
30
+                    char byte1[2] = {static_cast<char>(*(srcPtr+1)),0};
31
 
32
                      ThrowXMLwithMemMgr2(UTFDataFormatException
33
                               , XMLExcepts::UTF8_Irregular_3BytesSeq
34
@@ -310,8 +310,8 @@ XMLUTF8Transcoder::transcodeFrom(const  XMLByte* const          srcData
35
                 if (((*srcPtr == 0xF0) && (*(srcPtr+1) < 0x90)) ||
36
                     ((*srcPtr == 0xF4) && (*(srcPtr+1) > 0x8F))  )
37
                 {
38
-                    char byte0[2] = {*srcPtr    ,0};
39
-                    char byte1[2] = {*(srcPtr+1),0};
40
+                    char byte0[2] = {static_cast<char>(*srcPtr)    ,0};
41
+                    char byte1[2] = {static_cast<char>(*(srcPtr+1)),0};
42
 
43
                     ThrowXMLwithMemMgr2(UTFDataFormatException
44
                                       , XMLExcepts::UTF8_Invalid_4BytesSeq
45
@@ -344,7 +344,7 @@ XMLUTF8Transcoder::transcodeFrom(const  XMLByte* const          srcData
46
                  * surrogates, nor U+FFFE and U+FFFF (but it does allow other noncharacters).
47
                  ***/
48
                 char len[2]  = {(char)(trailingBytes+0x31), 0};
49
-                char byte[2] = {*srcPtr,0};
50
+                char byte[2] = {static_cast<char>(*srcPtr),0};
51
 
52
                 ThrowXMLwithMemMgr2(UTFDataFormatException
53
                                   , XMLExcepts::UTF8_Exceeds_BytesLimit
(-)./files/patch-src-xercesc-util-XMLUTF8Transcoder.hpp (+11 lines)
Line 0 Link Here
1
--- src.orig/xercesc/util/XMLUTF8Transcoder.hpp
2
+++ src/xercesc/util/XMLUTF8Transcoder.hpp
3
@@ -107,7 +107,7 @@ void XMLUTF8Transcoder::checkTrailingBytes(const XMLByte      toCheck
4
     {
5
         char len[2]  = {(char)(trailingBytes+0x31), 0};
6
         char pos[2]  = {(char)(position+0x31), 0};
7
-        char byte[2] = {toCheck,0};
8
+        char byte[2] = {static_cast<char>(toCheck),0};
9
         ThrowXMLwithMemMgr3(UTFDataFormatException, XMLExcepts::UTF8_FormatError, pos, byte, len, getMemoryManager());
10
     }
11
 
(-)./files/patch-src-xercesc-util-regx-ParserForXMLSchema.cpp (+11 lines)
Line 0 Link Here
1
--- src.orig/xercesc/util/regx/ParserForXMLSchema.cpp
2
+++ src/xercesc/util/regx/ParserForXMLSchema.cpp
3
@@ -156,7 +156,7 @@ XMLInt32 ParserForXMLSchema::decodeEscaped() {
4
         break;
5
     default:
6
         {
7
-        XMLCh chString[] = {chBackSlash, ch, chNull};        
8
+        XMLCh chString[] = {chBackSlash, static_cast<XMLCh>(ch), chNull};        
9
         ThrowXMLwithMemMgr1(ParseException,XMLExcepts::Parser_Process2, chString, getMemoryManager());
10
         }
11
     }
(-)./files/patch-src-xercesc-util-regx-RegxParser.cpp (+43 lines)
Line 0 Link Here
1
--- src.orig/xercesc/util/regx/RegxParser.cpp
2
+++ src/xercesc/util/regx/RegxParser.cpp
3
@@ -691,11 +691,11 @@ RangeToken* RegxParser::parseCharacterClass(const bool useNRange) {
4
                     || (ch == chDash && getCharData() == chCloseSquare && firstLoop))) {
5
                 // if regex = [-] then invalid...
6
                 // '[', ']', '-' not allowed and should be escaped
7
-                XMLCh chStr[] = { ch, chNull };
8
+                XMLCh chStr[] = { static_cast<XMLCh>(ch), chNull };
9
                 ThrowXMLwithMemMgr2(ParseException,XMLExcepts::Parser_CC6, chStr, chStr, getMemoryManager());
10
             }
11
             if (ch == chDash && getCharData() == chDash && getState() != REGX_T_BACKSOLIDUS && !wasDecoded) {
12
-                XMLCh chStr[] = { ch, chNull };
13
+                XMLCh chStr[] = { static_cast<XMLCh>(ch), chNull };
14
                 ThrowXMLwithMemMgr2(ParseException,XMLExcepts::Parser_CC6, chStr, chStr, getMemoryManager());
15
             }
16
 
17
@@ -720,7 +720,7 @@ RangeToken* RegxParser::parseCharacterClass(const bool useNRange) {
18
                 else {
19
 
20
                     XMLInt32 rangeEnd = getCharData();
21
-                    XMLCh rangeEndStr[] = { rangeEnd, chNull };
22
+                    XMLCh rangeEndStr[] = { static_cast<XMLCh>(rangeEnd), chNull };
23
 
24
                     if (type == REGX_T_CHAR) {
25
 
26
@@ -737,7 +737,7 @@ RangeToken* RegxParser::parseCharacterClass(const bool useNRange) {
27
                     processNext();
28
 
29
                     if (ch > rangeEnd) {
30
-                        XMLCh chStr[] = { ch, chNull };
31
+                        XMLCh chStr[] = { static_cast<XMLCh>(ch), chNull };
32
                         ThrowXMLwithMemMgr2(ParseException,XMLExcepts::Parser_Ope3, rangeEndStr, chStr, getMemoryManager());
33
                     }
34
 
35
@@ -845,7 +845,7 @@ XMLInt32 RegxParser::decodeEscaped() {
36
         break;
37
     default:
38
     {
39
-        XMLCh chString[] = {chBackSlash, ch, chNull};        
40
+        XMLCh chString[] = {chBackSlash, static_cast<XMLCh>(ch), chNull};        
41
         ThrowXMLwithMemMgr1(ParseException,XMLExcepts::Parser_Process2, chString, getMemoryManager());
42
     }
43
     }
(-)./files/patch-src-xercesc-validators-common-ContentSpecNode.cpp (+11 lines)
Line 0 Link Here
1
--- src.orig/xercesc/validators/common/ContentSpecNode.cpp
2
+++ src/xercesc/validators/common/ContentSpecNode.cpp
3
@@ -259,7 +259,7 @@ int ContentSpecNode::getMaxTotalRange() const {
4
             else {
5
 
6
                 if ((fType & 0x0f) == ContentSpecNode::Choice) {
7
-                    max = max * (maxFirst > maxSecond) ? maxFirst : maxSecond;
8
+                    max = max * ((maxFirst > maxSecond) ? maxFirst : maxSecond);
9
                 }
10
                 else {
11
                     max = max * (maxFirst + maxSecond);

Return to bug 171537