[svn:parrot] r48834 - trunk/src/string/encoding
nwellnhof at svn.parrot.org
nwellnhof at svn.parrot.org
Tue Sep 7 23:29:33 UTC 2010
Author: nwellnhof
Date: Tue Sep 7 23:29:32 2010
New Revision: 48834
URL: https://trac.parrot.org/parrot/changeset/48834
Log:
[str] Use str_copy in to_encoding
Modified:
trunk/src/string/encoding/ascii.c
trunk/src/string/encoding/latin1.c
trunk/src/string/encoding/ucs4.c
trunk/src/string/encoding/utf16.c
trunk/src/string/encoding/utf8.c
Modified: trunk/src/string/encoding/ascii.c
==============================================================================
--- trunk/src/string/encoding/ascii.c Tue Sep 7 22:58:38 2010 (r48833)
+++ trunk/src/string/encoding/ascii.c Tue Sep 7 23:29:32 2010 (r48834)
@@ -164,7 +164,7 @@
"lossy conversion to ascii");
}
- dest = Parrot_str_clone(interp, src);
+ dest = Parrot_str_copy(interp, src);
dest->encoding = Parrot_ascii_encoding_ptr;
}
else {
Modified: trunk/src/string/encoding/latin1.c
==============================================================================
--- trunk/src/string/encoding/latin1.c Tue Sep 7 22:58:38 2010 (r48833)
+++ trunk/src/string/encoding/latin1.c Tue Sep 7 23:29:32 2010 (r48834)
@@ -153,7 +153,7 @@
STRING *dest;
if (STRING_max_bytes_per_codepoint(src) == 1) {
- dest = Parrot_str_clone(interp, src);
+ dest = Parrot_str_copy(interp, src);
dest->encoding = Parrot_latin1_encoding_ptr;
}
else {
Modified: trunk/src/string/encoding/ucs4.c
==============================================================================
--- trunk/src/string/encoding/ucs4.c Tue Sep 7 22:58:38 2010 (r48833)
+++ trunk/src/string/encoding/ucs4.c Tue Sep 7 23:29:32 2010 (r48834)
@@ -176,7 +176,7 @@
ASSERT_ARGS(ucs4_to_encoding)
#if PARROT_HAS_ICU
if (src->encoding == Parrot_ucs4_encoding_ptr) {
- return Parrot_str_clone(interp, src);
+ return Parrot_str_copy(interp, src);
}
else {
UINTVAL len = Parrot_str_length(interp, src);
Modified: trunk/src/string/encoding/utf16.c
==============================================================================
--- trunk/src/string/encoding/utf16.c Tue Sep 7 22:58:38 2010 (r48833)
+++ trunk/src/string/encoding/utf16.c Tue Sep 7 23:29:32 2010 (r48834)
@@ -171,8 +171,10 @@
int src_len;
STRING *result;
- if (src->encoding == Parrot_utf16_encoding_ptr ||
- src->encoding == Parrot_ucs2_encoding_ptr)
+ if (src->encoding == Parrot_utf16_encoding_ptr
+ || src->encoding == Parrot_ucs2_encoding_ptr)
+ /* we have to use clone instead of copy because the Unicode upcase
+ * and downcase functions assume to get an unshared buffer */
return Parrot_str_clone(interp, src);
result = Parrot_gc_new_string_header(interp, 0);
Modified: trunk/src/string/encoding/utf8.c
==============================================================================
--- trunk/src/string/encoding/utf8.c Tue Sep 7 22:58:38 2010 (r48833)
+++ trunk/src/string/encoding/utf8.c Tue Sep 7 23:29:32 2010 (r48834)
@@ -196,7 +196,7 @@
unsigned char *p;
if (src_encoding == Parrot_utf8_encoding_ptr)
- return Parrot_str_clone(interp, src);
+ return Parrot_str_copy(interp, src);
src_len = src->strlen;
result = Parrot_gc_new_string_header(interp, 0);
More information about the parrot-commits
mailing list