summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-01-24 09:05:32 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-01-24 16:53:55 +0000
commit45350532879f8b33741fa1ac012aa43a776ebdf5 (patch)
treeef18a5e4ebff8f3097abc267b7f05ec7324d50cc /tools
parent5f662f2540e02487396d0ef0d97325d9a1fa8960 (diff)
use read_lenPrefixed_uInt16s_ToOUString instead of hand-rolled loops
Diffstat (limited to 'tools')
-rw-r--r--tools/inc/tools/stream.hxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/inc/tools/stream.hxx b/tools/inc/tools/stream.hxx
index 78f84fc2f7ba..0e1c6f77e21c 100644
--- a/tools/inc/tools/stream.hxx
+++ b/tools/inc/tools/stream.hxx
@@ -504,6 +504,17 @@ TOOLS_DLLPUBLIC inline rtl::OUString read_uInt8s_ToOUString(SvStream& rStrm,
TOOLS_DLLPUBLIC rtl::OUString read_uInt16s_ToOUString(SvStream& rStrm,
sal_Size nUnits);
+//Attempt to read a pascal-style length (of type prefix) prefixed sequence of
+//16bit units to an OUString, returned rtl::OString's length is number of units
+//successfully read.
+template<typename prefix>
+rtl::OUString read_lenPrefixed_uInt16s_ToOUString(SvStream& rStrm)
+{
+ prefix nUnits = 0;
+ rStrm >> nUnits;
+ return read_uInt16s_ToOUString(rStrm, nUnits);
+}
+
//Attempt to read 8bit units to an OString until a zero terminator is
//encountered, returned rtl::OString's length is number of units *definitely*
//successfully read, check SvStream::good() to see if null terminator was