diff options
author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-01-27 15:37:28 -0800 |
---|---|---|
committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-01-27 15:37:28 -0800 |
commit | 43218577740fa97a99160008568e6e0a36f892e5 (patch) | |
tree | cc7f5399020f55109deca998676f544c2836827b /indra | |
parent | fa886566b66639d65db4a7d4399cdbf2552a3d50 (diff) |
CID-220
Checker: STREAM_FORMAT_STATE
Function: encode_character(std::basic_ostream<char, std::char_traits<char>>&, char)
File: /indra/llcommon/lluri.cpp
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llcommon/lluri.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/indra/llcommon/lluri.cpp b/indra/llcommon/lluri.cpp index f6e8f01f0e..9d4f3a98f0 100644 --- a/indra/llcommon/lluri.cpp +++ b/indra/llcommon/lluri.cpp @@ -46,10 +46,21 @@ void encode_character(std::ostream& ostr, std::string::value_type val) { - ostr << "%" << std::uppercase << std::hex << std::setw(2) << std::setfill('0') + ostr << "%" + + << std::uppercase + << std::hex + << std::setw(2) + << std::setfill('0') + // VWR-4010 Cannot cast to U32 because sign-extension on // chars > 128 will result in FFFFFFC3 instead of F3. - << static_cast<S32>(static_cast<U8>(val)); + << static_cast<S32>(static_cast<U8>(val)) + + // reset stream state + << std::nouppercase + << std::dec + << std::setfill(' '); } // static |