Revisión | 11 (tree) |
---|---|
Tiempo | 2011-04-24 17:44:22 |
Autor | (del#42492) |
Xerces-C++ 2.2.0 ~ 3.1.1 までをテストして、バージョンの差を吸収した。
@@ -46,10 +46,13 @@ | ||
46 | 46 | */ |
47 | 47 | explicit Char2XMLChTranscoder(const char* encoding, int bufferSize = 1024) : |
48 | 48 | bufferSize_(bufferSize), buffer_(new XMLCh[bufferSize+4]), charSizes_(new unsigned char[bufferSize]) { |
49 | - xercesc::XMLTransService::Codes failReason; | |
49 | + xercesc::XMLTransService::Codes failReason; | |
50 | 50 | transcoder_ = xercesc::XMLPlatformUtils::fgTransService->makeNewTranscoderFor( |
51 | - encoding, failReason, bufferSize_, xercesc::XMLPlatformUtils::fgMemoryManager | |
52 | - ); | |
51 | + encoding, failReason, bufferSize_ | |
52 | +#if _XERCES_VERSION == 20300 | |
53 | + , XMLPlatformUtils::fgMemoryManager | |
54 | +#endif | |
55 | + ); | |
53 | 56 | } |
54 | 57 | |
55 | 58 | /** |
@@ -73,8 +76,12 @@ | ||
73 | 76 | const unsigned int count = xercesc::XMLString::stringLen(toTranscode); |
74 | 77 | const XMLByte* srcPtr = (XMLByte*) toTranscode; |
75 | 78 | const XMLByte* endPtr = (XMLByte*) toTranscode+count; |
76 | - XMLSize_t charsEaten; | |
77 | - XMLChPtr result; | |
79 | +#if XERCES_VERSION_MAJOR >= 3 | |
80 | + XMLSize_t charsEaten; | |
81 | +#else | |
82 | + unsigned int charsEaten; | |
83 | +#endif | |
84 | + XMLChPtr result; | |
78 | 85 | |
79 | 86 | while (srcPtr < endPtr) { |
80 | 87 | const unsigned int srcCount = endPtr-srcPtr; |
@@ -47,8 +47,11 @@ | ||
47 | 47 | bufferSize_(bufferSize), buffer_(new XMLByte[bufferSize + 4]) { |
48 | 48 | xercesc::XMLTransService::Codes failReason; |
49 | 49 | transcoder_ = xercesc::XMLPlatformUtils::fgTransService->makeNewTranscoderFor( |
50 | - encoding, failReason, bufferSize_, xercesc::XMLPlatformUtils::fgMemoryManager | |
51 | - ); | |
50 | + encoding, failReason, bufferSize_ | |
51 | +#if _XERCES_VERSION == 20300 | |
52 | + , XMLPlatformUtils::fgMemoryManager | |
53 | +#endif | |
54 | + ); | |
52 | 55 | } |
53 | 56 | |
54 | 57 | /** |
@@ -73,8 +76,12 @@ | ||
73 | 76 | const unsigned int count = xercesc::XMLString::stringLen(toTranscode); |
74 | 77 | const XMLCh* srcPtr = toTranscode; |
75 | 78 | const XMLCh* endPtr = toTranscode+count; |
76 | - XMLSize_t charsEaten; | |
77 | - CharPtr result; | |
79 | +#if XERCES_VERSION_MAJOR >= 3 | |
80 | + XMLSize_t charsEaten; | |
81 | +#else | |
82 | + unsigned int charsEaten; | |
83 | +#endif | |
84 | + CharPtr result; | |
78 | 85 | |
79 | 86 | while (srcPtr < endPtr) { |
80 | 87 | const unsigned int srcCount = endPtr - srcPtr; |