Changeset 1264 for trunk/src/core/RpLibrary.cc
- Timestamp:
- Jan 7, 2009 9:31:14 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/core/RpLibrary.cc
r1041 r1264 1457 1457 int myChildCount = 0; 1458 1458 1459 1459 parentNode = NULL; 1460 1460 if (path.empty()) { 1461 1461 // an empty path uses the current RpLibrary as parent … … 1539 1539 1540 1540 inData = Rappture::Buffer(retCStr); 1541 status &= Rappture::encoding::decode(inData,0); 1542 status.addContext("RpLibrary::getSting"); 1543 // inData.append("\0",1); 1544 1545 if (translateFlag == RPLIB_TRANSLATE) { 1546 translatedContents = ERTranslator.decode(inData.bytes(),inData.size()); 1547 if (translatedContents == NULL) { 1548 // translation failed 1549 if (!status) { 1550 status.error("Error while translating entity references"); 1551 status.addContext("RpLibrary::getSting"); 1552 } 1553 } 1554 else { 1555 // subtract 1 from size because ERTranslator adds extra NULL 1556 retStr = std::string(translatedContents,ERTranslator.size()-1); 1557 translatedContents = NULL; 1558 } 1559 } 1560 else { 1541 1542 if (Rappture::encoding::isencoded(inData.bytes(),inData.size()) != 0) { 1543 // data is encoded, 1544 // coming from an rplib, this means it was at least base64 encoded 1545 // there is no reason to do entity translation 1546 // because base64 character set does not include xml entity chars 1547 status &= Rappture::encoding::decode(inData,0); 1548 status.addContext("RpLibrary::getSting"); 1561 1549 retStr = std::string(inData.bytes(),inData.size()); 1550 } else { 1551 // check translateFlag to see if we need to translate entity refs 1552 if (translateFlag == RPLIB_TRANSLATE) { 1553 translatedContents = ERTranslator.decode(inData.bytes(),inData.size()); 1554 if (translatedContents == NULL) { 1555 // translation failed 1556 if (!status) { 1557 status.error("Error while translating entity references"); 1558 status.addContext("RpLibrary::getSting"); 1559 } 1560 } else { 1561 // subtract 1 from size because ERTranslator adds extra NULL 1562 retStr = std::string(translatedContents,ERTranslator.size()-1); 1563 translatedContents = NULL; 1564 } 1565 } 1562 1566 } 1563 1567 … … 1957 1961 Rappture::Buffer inData; 1958 1962 unsigned int bytesWritten = 0; 1959 int flags = 0;1963 size_t flags = 0; 1960 1964 1961 1965 if (!this->root) {
Note: See TracChangeset
for help on using the changeset viewer.