Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 493998 Details for
Bug 618676
dev-libs/beecrypt-4.2.1-r4 with ICU >=59: String.cxx:59:33: error: invalid conversion from ‘short unsigned int*’ to ‘UChar* {aka char16_t*}’
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch: convert all jchar* to UChar*
0010-cast-uchar.patch (text/plain), 8.44 KB, created by
Valeriy Malov
on 2017-09-11 13:56:59 UTC
(
hide
)
Description:
patch: convert all jchar* to UChar*
Filename:
MIME Type:
Creator:
Valeriy Malov
Created:
2017-09-11 13:56:59 UTC
Size:
8.44 KB
patch
obsolete
>diff --git a/c++/io/DataInputStream.cxx b/c++/io/DataInputStream.cxx >index f4ab92b..926296d 100644 >--- a/c++/io/DataInputStream.cxx >+++ b/c++/io/DataInputStream.cxx >@@ -201,7 +201,7 @@ String DataInputStream::readUTF() throw (IOException) > jchar* buffer = new jchar[ulen+1]; > > status = U_ZERO_ERROR; >- ucnv_toUChars(_utf, buffer, ulen+1, (const char*) data, (jint) utflen, &status); >+ ucnv_toUChars(_utf, reinterpret_cast<UChar*>(buffer), ulen+1, (const char*) data, (jint) utflen, &status); > > delete[] data; > >@@ -232,7 +232,7 @@ String DataInputStream::readLine() throw (IOException) > > array<jchar> target_buffer(80); > jint target_offset = 0; >- UChar* target = target_buffer.data(); >+ UChar* target = reinterpret_cast<UChar*>(target_buffer.data()); > const UChar* target_limit = target+1; > char source_buffer[MAX_BYTES_PER_CHARACTER]; > const char* source = source_buffer; >diff --git a/c++/io/DataOutputStream.cxx b/c++/io/DataOutputStream.cxx >index b17e600..0ca9a45 100644 >--- a/c++/io/DataOutputStream.cxx >+++ b/c++/io/DataOutputStream.cxx >@@ -187,7 +187,7 @@ void DataOutputStream::writeUTF(const String& str) throw (IOException) > const array<jchar>& src = str.toCharArray(); > > // the expected status code here is U_BUFFER_OVERFLOW_ERROR >- jint need = ucnv_fromUChars(_utf, 0, 0, src.data(), src.size(), &status); >+ jint need = ucnv_fromUChars(_utf, 0, 0, reinterpret_cast<const UChar*>(src.data()), src.size(), &status); > if (U_FAILURE(status)) > if (status != U_BUFFER_OVERFLOW_ERROR) > throw IOException("ucnv_fromUChars failed"); >@@ -200,7 +200,7 @@ void DataOutputStream::writeUTF(const String& str) throw (IOException) > status = U_ZERO_ERROR; > > // the expected status code here is U_STRING_NOT_TERMINATED_WARNING >- ucnv_fromUChars(_utf, (char*) buffer, need, src.data(), src.size(), &status); >+ ucnv_fromUChars(_utf, (char*) buffer, need, reinterpret_cast<const UChar*>(src.data()), src.size(), &status); > if (status != U_STRING_NOT_TERMINATED_WARNING) > { > delete[] buffer; >diff --git a/c++/io/PrintStream.cxx b/c++/io/PrintStream.cxx >index bb89d7c..846ea91 100644 >--- a/c++/io/PrintStream.cxx >+++ b/c++/io/PrintStream.cxx >@@ -191,7 +191,7 @@ void PrintStream::print(jchar ch) throw () > UErrorCode status = U_ZERO_ERROR; > > // do conversion of one character >- size_t used = ucnv_fromUChars(_loc, buffer, 8, &ch, 1, &status); >+ size_t used = ucnv_fromUChars(_loc, buffer, 8, reinterpret_cast<UChar*>(&ch), 1, &status); > if (U_FAILURE(status)) > throw IOException("failure in ucnv_fromUChars"); > >@@ -268,14 +268,14 @@ void PrintStream::print(jlong x) throw () > > void PrintStream::print(const array<jchar>& chars) throw () > { >- print(chars.data(), chars.size()); >+ print(reinterpret_cast<const UChar*>(chars.data()), chars.size()); > } > > void PrintStream::print(const String& str) throw () > { > const array<jchar>& tmp = str.toCharArray(); > >- print(tmp.data(), tmp.size()); >+ print(reinterpret_cast<const UChar*>(tmp.data()), tmp.size()); > } > > void PrintStream::println() throw () >diff --git a/c++/lang/String.cxx b/c++/lang/String.cxx >index 5ef9466..d69a4a3 100644 >--- a/c++/lang/String.cxx >+++ b/c++/lang/String.cxx >@@ -33,6 +33,8 @@ using namespace beecrypt::lang; > #include <unicode/ustdio.h> > #include <unicode/ustring.h> > >+static_assert(sizeof(jchar) == sizeof(UChar), "jchar and UChar sizes mismatch"); >+ > String::String(array<jchar>& swapWith) > { > assert(swapWith.size() <= Integer::MAX_VALUE); >@@ -56,7 +58,7 @@ String::String() > > String::String(char c) : _value(1) > { >- u_charsToUChars(&c, _value.data(), 1); >+ u_charsToUChars(&c, reinterpret_cast<UChar*>(_value.data()), 1); > } > > String::String(jchar c) : _value(&c, 1) >@@ -67,7 +69,7 @@ String::String(const char* value) : _value(::strlen(value)) > { > assert(_value.size() <= Integer::MAX_VALUE); > >- u_charsToUChars(value, _value.data(), _value.size()); >+ u_charsToUChars(value, reinterpret_cast<UChar*>(_value.data()), _value.size()); > } > > String::String(const jchar* value, int offset, int length) : _value(value+offset, length) >@@ -449,7 +451,7 @@ std::ostream& beecrypt::lang::operator<<(std::ostream& stream, const String& str > if (U_FAILURE(status)) > throw RuntimeException("ucnv_open failed"); > >- int need = ucnv_fromUChars(loc, 0, 0, src.data(), src.size(), &status); >+ int need = ucnv_fromUChars(loc, 0, 0, reinterpret_cast<const UChar*>(src.data()), src.size(), &status); > if (U_FAILURE(status)) > if (status != U_BUFFER_OVERFLOW_ERROR) > throw RuntimeException("ucnv_fromUChars failed"); >@@ -458,7 +460,7 @@ std::ostream& beecrypt::lang::operator<<(std::ostream& stream, const String& str > > status = U_ZERO_ERROR; > >- ucnv_fromUChars(loc, out, need+1, src.data(), src.size(), &status); >+ ucnv_fromUChars(loc, out, need+1, reinterpret_cast<const UChar*>(src.data()), src.size(), &status); > if (U_FAILURE(status)) > throw RuntimeException("ucnv_fromUChars failed"); > >diff --git a/c++/lang/StringBuffer.cxx b/c++/lang/StringBuffer.cxx >index d5253d6..1ebbd26 100644 >--- a/c++/lang/StringBuffer.cxx >+++ b/c++/lang/StringBuffer.cxx >@@ -35,7 +35,7 @@ StringBuffer::StringBuffer() : _buffer(16) > > StringBuffer::StringBuffer(const char* s) : _buffer(16 + strlen(s)) > { >- u_charsToUChars(s, _buffer.data(), _used = strlen(s)); >+ u_charsToUChars(s, reinterpret_cast<UChar*>(_buffer.data()), _used = strlen(s)); > } > > StringBuffer::StringBuffer(const String& s) : _buffer(16 + s._value.size()) >@@ -53,7 +53,7 @@ StringBuffer& StringBuffer::append(char c) > synchronized (this) > { > core_ensureCapacity(_used+1); >- u_charsToUChars(&c, _buffer.data() + _used++, 1); >+ u_charsToUChars(&c, reinterpret_cast<UChar*>(_buffer.data() + _used++), 1); > } > return *this; > } >@@ -88,7 +88,7 @@ StringBuffer& StringBuffer::append(const char* s) > jint need = strlen(s); > > core_ensureCapacity(_used + need); >- u_charsToUChars(s, _buffer.data() + _used, need); >+ u_charsToUChars(s, reinterpret_cast<UChar*>(_buffer.data() + _used), need); > > _used += need; > } >diff --git a/c++/lang/StringBuilder.cxx b/c++/lang/StringBuilder.cxx >index 0a2abff..373c20d 100644 >--- a/c++/lang/StringBuilder.cxx >+++ b/c++/lang/StringBuilder.cxx >@@ -38,7 +38,7 @@ StringBuilder::StringBuilder() : _buffer(16) > > StringBuilder::StringBuilder(const char* s) : _buffer(16 + strlen(s)) > { >- u_charsToUChars(s, _buffer.data(), _used = strlen(s)); >+ u_charsToUChars(s, reinterpret_cast<UChar*>(_buffer.data()), _used = strlen(s)); > } > > StringBuilder::StringBuilder(const String& s) : _buffer(16 + s._value.size()) >@@ -55,7 +55,7 @@ StringBuilder& StringBuilder::append(char c) > { > ensureCapacity(_used+1); > >- u_charsToUChars(&c, _buffer.data() + _used++, 1); >+ u_charsToUChars(&c, reinterpret_cast<UChar*>(_buffer.data() + _used++), 1); > > return *this; > } >@@ -97,7 +97,7 @@ StringBuilder& StringBuilder::append(const char* s) > > ensureCapacity(_used + need); > >- u_charsToUChars(s, _buffer.data() + _used, need); >+ u_charsToUChars(s, reinterpret_cast<UChar*>(_buffer.data() + _used), need); > > _used += need; > >diff --git a/c++/security/Provider.cxx b/c++/security/Provider.cxx >index 70bf061..248da65 100644 >--- a/c++/security/Provider.cxx >+++ b/c++/security/Provider.cxx >@@ -90,7 +90,7 @@ Object* Provider::setProperty(const String& key, const String& value) > > UErrorCode status = U_ZERO_ERROR; > >- ucnv_fromUChars(_conv, symname, 1024, src.data(), src.size(), &status); >+ ucnv_fromUChars(_conv, symname, 1024, reinterpret_cast<const UChar*>(src.data()), src.size(), &status); > > if (status != U_ZERO_ERROR) > throw RuntimeException("error in ucnv_fromUChars"); >diff --git a/c++/security/Security.cxx b/c++/security/Security.cxx >index 2c7af0e..a80eabc 100644 >--- a/c++/security/Security.cxx >+++ b/c++/security/Security.cxx >@@ -104,7 +104,7 @@ void Security::initialize() > > const array<jchar>& src = value->toCharArray(); > >- int need = ucnv_fromUChars(_loc, 0, 0, src.data(), src.size(), &status); >+ int need = ucnv_fromUChars(_loc, 0, 0, reinterpret_cast<const UChar*>(src.data()), src.size(), &status); > if (U_FAILURE(status)) > if (status != U_BUFFER_OVERFLOW_ERROR) > throw RuntimeException("ucnv_fromUChars failed"); >@@ -112,7 +112,7 @@ void Security::initialize() > char* shared_library = new char[need+1]; > > status = U_ZERO_ERROR; >- ucnv_fromUChars(_loc, shared_library, need+1, src.data(), src.size(), &status); >+ ucnv_fromUChars(_loc, shared_library, need+1, reinterpret_cast<const UChar*>(src.data()), src.size(), &status); > if (U_FAILURE(status)) > throw RuntimeException("ucnv_fromUChars failed"); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 618676
:
472840
|
472842
|
472844
|
472846
|
472848
|
472850
|
472852
| 493998