lib/ffi-icu/uchar.rb in ffi-icu-0.1.6 vs lib/ffi-icu/uchar.rb in ffi-icu-0.1.7

- old
+ new

@@ -4,23 +4,22 @@ UCHAR_TYPE = :uint16 # not sure how platform-dependent this is.. TYPE_SIZE = FFI.type_size(UCHAR_TYPE) def self.from_string(str, capacity = nil) str = str.encode("UTF-8") if str.respond_to? :encode - bytes = str.unpack("U*") + chars = str.unpack("U*") if capacity - capacity *= TYPE_SIZE - if capacity < bytes.size - raise ArgumentError, "capacity is too small for string of #{bytes.size} bytes" + if capacity < chars.size + raise ArgumentError, "capacity is too small for string of #{chars.size} UChars" end ptr = new capacity else - ptr = new bytes.size + ptr = new chars.size end - ptr.write_array_of_uint16 bytes + ptr.write_array_of_uint16 chars ptr end def initialize(size)