diff options
author | Luboš Luňák <l.lunak@suse.cz> | 2011-07-04 11:29:08 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2011-07-04 11:30:37 +0200 |
commit | 3563ee58528846e694b495723a247ff128994c8c (patch) | |
tree | c35d1a742bb10801c5d8613a32c4e6ec50a41d71 /sal | |
parent | d8636d2f8e9c0398d3909f20f22d0e783d7061d5 (diff) |
change O[U]StringBuffer::remove() to take start+len
In order to be consistent with other usage in LO and C++ libs,
instead of being consistent with Java.
Diffstat (limited to 'sal')
-rw-r--r-- | sal/inc/rtl/strbuf.h | 11 | ||||
-rw-r--r-- | sal/inc/rtl/strbuf.hxx | 16 | ||||
-rw-r--r-- | sal/inc/rtl/ustrbuf.h | 11 | ||||
-rw-r--r-- | sal/inc/rtl/ustrbuf.hxx | 18 | ||||
-rw-r--r-- | sal/qa/OStringBuffer/rtl_OStringBuffer.cxx | 2 | ||||
-rw-r--r-- | sal/rtl/source/strbuf.c | 17 | ||||
-rw-r--r-- | sal/rtl/source/ustrbuf.c | 17 |
7 files changed, 32 insertions, 60 deletions
diff --git a/sal/inc/rtl/strbuf.h b/sal/inc/rtl/strbuf.h index 78f604009c11..c1d929c1298b 100644 --- a/sal/inc/rtl/strbuf.h +++ b/sal/inc/rtl/strbuf.h @@ -116,19 +116,16 @@ void SAL_CALL rtl_stringbuffer_insert( /*inout*/rtl_String ** This, Removes the characters in a substring of this sequence. The substring begins at the specified <code>start</code> and - extends to the character at index <code>end - 1</code> or to - the end of the sequence if no such character exists. If - <code>start</code> is equal to <code>end</code>, no changes - are made. + is <code>len</code> characters long. - start must be >= 0 && <= This->length && <= end + start must be >= 0 && <= This->length @param start The beginning index, inclusive - @param end The ending index, exclusive + @param len The substring length */ void SAL_CALL rtl_stringbuffer_remove( /*inout*/rtl_String ** This, sal_Int32 start, - sal_Int32 end ); + sal_Int32 len ); #ifdef __cplusplus } diff --git a/sal/inc/rtl/strbuf.hxx b/sal/inc/rtl/strbuf.hxx index 48a55683bd46..310b38e9a19a 100644 --- a/sal/inc/rtl/strbuf.hxx +++ b/sal/inc/rtl/strbuf.hxx @@ -675,25 +675,17 @@ public: Removes the characters in a substring of this sequence. The substring begins at the specified <code>start</code> and - extends to the character at index <code>end - 1</code> or to - the end of the sequence if no such character exists. If - <code>start</code> is equal to <code>end</code>, no changes - are made. + is <code>len</code> characters long. start must be >= 0 && <= getLength() && <= end - As is usual for the rtl string classes, this is based - on an analogous Java StringBuffer member. In this - case <code>delete</code>, but because that's a reserved - keyword in C++, this is named <code>remove</code>. - @param start The beginning index, inclusive - @param end The ending index, exclusive + @param len The substring length @return this string buffer. */ - OStringBuffer & remove( sal_Int32 start, sal_Int32 end ) + OStringBuffer & remove( sal_Int32 start, sal_Int32 len ) { - rtl_stringbuffer_remove( &pData, start, end ); + rtl_stringbuffer_remove( &pData, start, len ); return *this; } diff --git a/sal/inc/rtl/ustrbuf.h b/sal/inc/rtl/ustrbuf.h index 36e5652000db..8ea5c316e80e 100644 --- a/sal/inc/rtl/ustrbuf.h +++ b/sal/inc/rtl/ustrbuf.h @@ -163,19 +163,16 @@ void SAL_CALL rtl_uStringbuffer_insert_ascii( /*inout*/rtl_uString ** This, Removes the characters in a substring of this sequence. The substring begins at the specified <code>start</code> and - extends to the character at index <code>end - 1</code> or to - the end of the sequence if no such character exists. If - <code>start</code> is equal to <code>end</code>, no changes - are made. + is <code>len</code> characters long. - start must be >= 0 && <= This->length && <= end + start must be >= 0 && <= This->length @param start The beginning index, inclusive - @param end The ending index, exclusive + @param len The substring length */ void SAL_CALL rtl_uStringbuffer_remove( /*inout*/rtl_uString ** This, sal_Int32 start, - sal_Int32 end ); + sal_Int32 len ); #ifdef __cplusplus } diff --git a/sal/inc/rtl/ustrbuf.hxx b/sal/inc/rtl/ustrbuf.hxx index bde72fc0cde2..39e3562bd516 100644 --- a/sal/inc/rtl/ustrbuf.hxx +++ b/sal/inc/rtl/ustrbuf.hxx @@ -742,25 +742,17 @@ public: Removes the characters in a substring of this sequence. The substring begins at the specified <code>start</code> and - extends to the character at index <code>end - 1</code> or to - the end of the sequence if no such character exists. If - <code>start</code> is equal to <code>end</code>, no changes - are made. + is <code>len</code> characters long. - start must be >= 0 && <= getLength() && <= end - - As is usual for the rtl string classes, this is based - on an analogous Java StringBuffer member. In this - case <code>delete</code>, but because that's a reserved - keyword in C++, this is named <code>remove</code>. + start must be >= 0 && <= This->length @param start The beginning index, inclusive - @param end The ending index, exclusive + @param len The substring length @return this string buffer. */ - OUStringBuffer & remove( sal_Int32 start, sal_Int32 end ) + OUStringBuffer & remove( sal_Int32 start, sal_Int32 len ) { - rtl_uStringbuffer_remove( &pData, start, end ); + rtl_uStringbuffer_remove( &pData, start, len ); return *this; } diff --git a/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx b/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx index 257a31b93e4a..2ebce4c74588 100644 --- a/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx +++ b/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx @@ -340,7 +340,7 @@ namespace rtl_OStringBuffer CPPUNIT_ASSERT(sb.toString().equalsL( RTL_CONSTASCII_STRINGPARAM("Hat, Inc."))); - sb.remove(3, 9); + sb.remove(3, 6); CPPUNIT_ASSERT(sb.toString().equalsL( RTL_CONSTASCII_STRINGPARAM("Hat"))); diff --git a/sal/rtl/source/strbuf.c b/sal/rtl/source/strbuf.c index a620a3c0419d..c9a4f3140643 100644 --- a/sal/rtl/source/strbuf.c +++ b/sal/rtl/source/strbuf.c @@ -151,31 +151,28 @@ void SAL_CALL rtl_stringbuffer_insert( rtl_String ** This, */ void SAL_CALL rtl_stringbuffer_remove( rtl_String ** This, sal_Int32 start, - sal_Int32 end ) + sal_Int32 len ) { sal_Int32 nTailLen; sal_Char * pBuf; - sal_Int32 n; - - if (end > (*This)->length) - end = (*This)->length; - n = end - start; + if (len > (*This)->length - start) + len = (*This)->length - start; //remove nothing - if (!n) + if (!len) return; pBuf = (*This)->buffer; - nTailLen = (*This)->length - end; + nTailLen = (*This)->length - ( start + len ); if (nTailLen) { /* move the tail */ - rtl_moveMemory(pBuf + start, pBuf + end, nTailLen * sizeof(sal_Char)); + rtl_moveMemory(pBuf + start, pBuf + start + len, nTailLen * sizeof(sal_Char)); } - (*This)->length-=n; + (*This)->length-=len; pBuf[ (*This)->length ] = 0; } diff --git a/sal/rtl/source/ustrbuf.c b/sal/rtl/source/ustrbuf.c index f5dbefdb75b8..374913ae78b8 100644 --- a/sal/rtl/source/ustrbuf.c +++ b/sal/rtl/source/ustrbuf.c @@ -211,31 +211,28 @@ void SAL_CALL rtl_uStringbuffer_insert_ascii( /*inout*/rtl_uString ** This, */ void SAL_CALL rtl_uStringbuffer_remove( rtl_uString ** This, sal_Int32 start, - sal_Int32 end ) + sal_Int32 len ) { sal_Int32 nTailLen; sal_Unicode * pBuf; - sal_Int32 n; - - if (end > (*This)->length) - end = (*This)->length; - n = end - start; + if (len > (*This)->length - start) + len = (*This)->length - start; //remove nothing - if (!n) + if (!len) return; pBuf = (*This)->buffer; - nTailLen = (*This)->length - end; + nTailLen = (*This)->length - ( start + len ); if (nTailLen) { /* move the tail */ - rtl_moveMemory(pBuf + start, pBuf + end, nTailLen * sizeof(sal_Unicode)); + rtl_moveMemory(pBuf + start, pBuf + start + len, nTailLen * sizeof(sal_Unicode)); } - (*This)->length-=n; + (*This)->length-=len; pBuf[ (*This)->length ] = 0; } |