@@ -1891,16 +1891,10 @@ CL_DEFUN SimpleVector_byte8_t_sp core__base_string_to_octets(T_sp tarray) {
18911891 }
18921892 if (gc::IsA<SimpleBaseString_sp>(tarray)) {
18931893 SimpleBaseString_sp sarray = gc::As_unsafe<SimpleBaseString_sp>(tarray);
1894- SimpleVector_byte8_t_sp result = SimpleVector_byte8_t_O::make (sarray->length (), 0 , false , sarray->length (), &(*sarray)[0 ]);
1895- return result;
1894+ return SimpleVector_byte8_t_O::make (sarray);
18961895 } else if (gc::IsA<Str8Ns_sp>(tarray)) {
18971896 Str8Ns_sp sarray = gc::As_unsafe<Str8Ns_sp>(tarray);
1898- AbstractSimpleVector_sp basesv;
1899- size_t start, end;
1900- sarray->asAbstractSimpleVectorRange (basesv, start, end);
1901- SimpleBaseString_sp sbs = gc::As_unsafe<SimpleBaseString_sp>(basesv);
1902- SimpleVector_byte8_t_sp result = SimpleVector_byte8_t_O::make ((end - start), 0 , false , (end - start), &(*sbs)[start]);
1903- return result;
1897+ return SimpleVector_byte8_t_O::make (sarray);
19041898 }
19051899 SIMPLE_ERROR (" Don't get here" );
19061900}
@@ -1909,23 +1903,10 @@ DOCGROUP(clasp);
19091903CL_DEFUN SimpleVector_byte8_t_sp core__character_string_that_fits_in_base_string_to_octets (T_sp tarray) {
19101904 if (gc::IsA<SimpleCharacterString_sp>(tarray)) {
19111905 SimpleCharacterString_sp sarray = gc::As_unsafe<SimpleCharacterString_sp>(tarray);
1912- SimpleVector_byte8_t_sp result = SimpleVector_byte8_t_O::make (sarray->length (), 0 , false );
1913- for (int i = 0 ; i < sarray->length (); ++i) {
1914- int c = sarray[i];
1915- result[i] = c;
1916- }
1917- return result;
1906+ return SimpleVector_byte8_t_O::make (sarray);
19181907 } else if (gc::IsA<StrWNs_sp>(tarray)) {
19191908 StrWNs_sp sarray = gc::As_unsafe<StrWNs_sp>(tarray);
1920- AbstractSimpleVector_sp basesv;
1921- size_t start, end;
1922- sarray->asAbstractSimpleVectorRange (basesv, start, end);
1923- SimpleVector_byte8_t_sp result = SimpleVector_byte8_t_O::make ((end - start), 0 , false );
1924- for (int i = 0 ; i < sarray->length (); ++i) {
1925- int c = sarray[i];
1926- result[i] = c;
1927- }
1928- return result;
1909+ return SimpleVector_byte8_t_O::make (sarray);
19291910 }
19301911 SIMPLE_ERROR (" Handle Don't get here" );
19311912}
0 commit comments