- Timestamp:
- Jul 30, 2007 10:08:29 AM (17 years ago)
- Location:
- trunk/src/core
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/core/RpEntityRef.cc
r623 r788 40 40 const char* 41 41 EntityRef::decode ( 42 const char* value 42 const char* value, 43 unsigned int len 43 44 ) 44 45 { 45 46 unsigned int pos = 0; 46 unsigned int len = 0;47 47 48 48 if (value == NULL) { … … 52 52 53 53 _bout.clear(); 54 len = strlen(value); 54 if (len == 0) { 55 len = strlen(value); 56 } 55 57 56 58 while (pos < len) { … … 112 114 const char* 113 115 EntityRef::encode ( 114 const char* value 116 const char* value, 117 unsigned int len 115 118 ) 116 119 { 117 120 unsigned int pos = 0; 118 unsigned int len = 0;119 121 120 122 … … 125 127 126 128 _bout.clear(); 127 len = strlen(value); 129 if (len == 0) { 130 len = strlen(value); 131 } 128 132 129 133 while (pos < len) { … … 156 160 } 157 161 162 int 163 EntityRef::size () { 164 return _bout.size(); 165 } 166 167 158 168 #ifdef __cplusplus 159 169 } // extern c -
trunk/src/core/RpEntityRef.h
r623 r788 42 42 { 43 43 public: 44 const char* encode (const char* in); 45 const char* decode (const char* in); 44 const char* encode (const char* in, unsigned int len); 45 const char* decode (const char* in, unsigned int len); 46 int size(); 46 47 47 48 EntityRef () {}; -
trunk/src/core/RpLibrary.cc
r769 r788 1539 1539 status &= Rappture::encoding::decode(inData,0); 1540 1540 status.addContext("RpLibrary::getSting"); 1541 inData.append("\0",1);1541 // inData.append("\0",1); 1542 1542 1543 1543 if (translateFlag == RPLIB_TRANSLATE) { 1544 translatedContents = ERTranslator.decode(inData.bytes() );1544 translatedContents = ERTranslator.decode(inData.bytes(),inData.size()); 1545 1545 if (translatedContents == NULL) { 1546 1546 // translation failed … … 1551 1551 } 1552 1552 else { 1553 retStr = std::string(translatedContents); 1553 // subtract 1 from size because ERTranslator adds extra NULL 1554 retStr = std::string(translatedContents,ERTranslator.size()-1); 1554 1555 translatedContents = NULL; 1555 1556 } 1556 1557 } 1557 1558 else { 1558 retStr = std::string(inData.bytes() );1559 retStr = std::string(inData.bytes(),inData.size()); 1559 1560 } 1560 1561 … … 1701 1702 1702 1703 if (translateFlag == RPLIB_TRANSLATE) { 1703 translatedContents = ERTranslator.decode(retCStr );1704 translatedContents = ERTranslator.decode(retCStr,0); 1704 1705 if (translatedContents == NULL) { 1705 1706 // translation failed … … 1769 1770 1770 1771 if (translateFlag == RPLIB_TRANSLATE) { 1771 translatedContents = ERTranslator.encode(value.c_str() );1772 translatedContents = ERTranslator.encode(value.c_str(),0); 1772 1773 } 1773 1774 else {
Note: See TracChangeset
for help on using the changeset viewer.