summaryrefslogtreecommitdiff
path: root/sal/inc
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2012-12-05 00:37:01 +0100
committerLuboš Luňák <l.lunak@suse.cz>2012-12-06 13:35:18 +0100
commit81e16cea9a11185c209894973db8d1990fa9cce6 (patch)
tree6b784ddae1e873ba282ca1a961a8dc4a32f83e16 /sal/inc
parentf82a55ec476955d9d4467725a4ea3ce9e514d8dd (diff)
mvoe rtl_(u)string_alloc to sal
No point in hidding something useful like this in some helper lib. Change-Id: I7332d7f6bd428378cd19e7e95ad130771a541140
Diffstat (limited to 'sal/inc')
-rw-r--r--sal/inc/rtl/string.h24
-rw-r--r--sal/inc/rtl/ustring.h25
2 files changed, 49 insertions, 0 deletions
diff --git a/sal/inc/rtl/string.h b/sal/inc/rtl/string.h
index 13c622d4e8b3..bfeecf781e62 100644
--- a/sal/inc/rtl/string.h
+++ b/sal/inc/rtl/string.h
@@ -818,6 +818,30 @@ SAL_DLLPUBLIC void SAL_CALL rtl_string_new( rtl_String ** newStr ) SAL_THROW_EXT
/** Allocate a new string containing space for a given number of characters.
+ The reference count of the new string will be 1. The length of the string
+ will be nLen. This function does not handle out-of-memory conditions.
+
+ The characters of the capacity are not cleared, and the length is set to
+ nLen, unlike the similar method of rtl_String_new_WithLength which
+ zeros out the buffer, and sets the length to 0. So should be somewhat
+ more efficient for allocating a new string.
+
+ call rtl_String_release to release the string
+ alternatively pass ownership to an OUString with
+ rtl::OUString(newStr, SAL_NO_ACQUIRE);
+
+ @param newStr
+ pointer to the new string.
+
+ @param len
+ the number of characters.
+
+ @since LibreOffice 4.1
+ */
+SAL_DLLPUBLIC rtl_String * SAL_CALL rtl_string_alloc(sal_Int32 nLen) SAL_THROW_EXTERN_C();
+
+/** Allocate a new string containing space for a given number of characters.
+
If len is greater than zero, the reference count of the new string will be
1. The values of all characters are set to 0 and the length of the string
is 0. This function does not handle out-of-memory conditions.
diff --git a/sal/inc/rtl/ustring.h b/sal/inc/rtl/ustring.h
index 0548033f732c..fe2f2f47607d 100644
--- a/sal/inc/rtl/ustring.h
+++ b/sal/inc/rtl/ustring.h
@@ -1151,6 +1151,31 @@ SAL_DLLPUBLIC void SAL_CALL rtl_uString_new(
/** Allocate a new string containing space for a given number of characters.
+ The reference count of the new string will be 1. The length of the string
+ will be nLen. This function throws std::bad_alloc on out-of-memory
+ conditions.
+
+ The characters of the capacity are not cleared, and the length is set to
+ nLen, unlike the similar method of rtl_uString_new_WithLength which
+ zeros out the buffer, and sets the length to 0. So should be somewhat
+ more efficient for allocating a new string.
+
+ call rtl_uString_release to release the string
+ alternatively pass ownership to an OUString with
+ rtl::OUString(newStr, SAL_NO_ACQUIRE);
+
+ @param newStr
+ pointer to the new string.
+
+ @param len
+ the number of characters.
+
+ @since LibreOffice 4.1
+ */
+SAL_DLLPUBLIC rtl_uString * SAL_CALL rtl_uString_alloc(sal_Int32 nLen) SAL_THROW_EXTERN_C();
+
+/** Allocate a new string containing space for a given number of characters.
+
If len is greater than zero, the reference count of the new string will be
1. The values of all characters are set to 0 and the length of the string
is 0. This function does not handle out-of-memory conditions.