https://issues.apache.org/ooo/show_bug.cgi?id=123107
Bug ID: 123107
Issue Type: DEFECT
Summary: remove implicit rtl::O*StringBuffer conversions to
char/utf-16 pointers
Product: General
Version: 4.0.0
Hardware: All
OS: All
Status: CONFIRMED
Severity: normal
Priority: P3
Component: code
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Depends on: 123068
The implicit O*StringBuffer conversions to char/utf-16 pointers does not only
facilitate the four bug families seen with the similar OString conversions in
bug 123068 where the problems are more described in more detail:
- unintended pointer arithmetic instead of appending a value-string to a string
- failed tests for the emptiness of a string
- unintended template specializations
- string buffer lifetime mismanagement
but it also introduces a new bug family
- failing string comparisons
because the O*StringBuffer classes don't have the == and != comparison
operators of their O*String counterparts. If string buffers are compared with
== or != then the compiler does implicit conversions to their buffer pointer
and compares these pointers, which is not the content-comparison that seems to
be expected.
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are watching all bug changes.