- Timestamp:
- Apr 27, 2007, 4:58:10 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/tcl/src/RpEncodeTclInterface.cc
r671 r684 251 251 err &= Rappture::encoding::encode(buf,flags); 252 252 253 result = Tcl_GetObjResult(interp);254 255 256 253 if (!err) { 257 Tcl_DString dstPtr; 258 Tcl_DStringInit(&dstPtr); 259 Tcl_ExternalToUtfDString(NULL,buf.bytes(),buf.size(),&dstPtr); 260 Tcl_AppendToObj(result,Tcl_DStringValue(&dstPtr),Tcl_DStringLength(&dstPtr)); 261 Tcl_DStringFree(&dstPtr); 254 result = Tcl_NewByteArrayObj( 255 (const unsigned char*)buf.bytes(), buf.size()); 256 Tcl_SetObjResult(interp, result); 262 257 } 263 258 else { 259 result = Tcl_GetObjResult(interp); 264 260 Tcl_AppendStringsToObj( result, err.remark().c_str(), 265 261 "\n", err.context().c_str(), NULL ); 266 262 } 267 268 269 263 return TCL_OK; 270 264 } … … 375 369 err &= Rappture::encoding::decode(buf,flags); 376 370 377 result = Tcl_GetObjResult(interp);378 379 371 if (!err) { 380 Tcl_DString dstPtr; 381 Tcl_DStringInit(&dstPtr); 382 Tcl_ExternalToUtfDString(NULL,buf.bytes(),buf.size(),&dstPtr); 383 Tcl_AppendToObj(result,Tcl_DStringValue(&dstPtr),Tcl_DStringLength(&dstPtr)); 384 Tcl_DStringFree(&dstPtr); 372 result = Tcl_NewByteArrayObj( 373 (const unsigned char*)buf.bytes(), buf.size()); 374 Tcl_SetObjResult(interp, result); 385 375 } 386 376 else { 377 result = Tcl_GetObjResult(interp); 387 378 Tcl_AppendStringsToObj( result, err.remark().c_str(), 388 379 "\n", err.context().c_str(), NULL ); 389 380 } 390 391 381 return TCL_OK; 392 382 } -
trunk/src/tcl/tests/encode.test
r655 r684 91 91 test encode-2.2.3 {Rappture::encoding::encode, -as z w/ string} { 92 92 list [catch {Rappture::encoding::encode -as z "hi"} msg] $msg 93 } {0 {@@RP-ENC:z 94 \xCB\xC8\x3F\x2A\x3F\xD8}} 93 } [list 0 "@@RP-ENC:z\n\037\213\010\000\000\000\000\000\000\003\313\310\004\000\254\052\223\330\002\000\000\000"] 95 94 96 95 test encode-2.2.4 {Rappture::encoding::encode, -as b64 w/ string} { … … 135 134 set h "@@RP-ENC:zb64\nH4sIAAAAAAAAA8vIBACsKpPYAgAAAA==" 136 135 list [catch {Rappture::encoding::decode -as z $h} msg] $msg 137 } {0 hi} 136 } {0 {@@RP-ENC:zb64 137 H4sIAAAAAAAAA8vIBACsKpPYAgAAAA==}} 138 138 139 139 test decode-3.2.3 {Rappture::encoding::decode, -as flag, b64 w/ string} { … … 142 142 } {0 hi} 143 143 144 test decode-3.2.4 {encode/decode reverse each other} { 145 set msg "This is a test" 146 Rappture::encoding::decode [Rappture::encoding::encode $msg] 147 } {This is a test} 148 144 149 145 150 ::tcltest::cleanupTests
Note: See TracChangeset
for help on using the changeset viewer.