Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- (unknown)
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.from_j_bytes(a) ⇒ Object
4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 |
# File 'ext/primitive/primitive.c', line 4324 static VALUE r_String_from_j_bytes(VALUE self, VALUE a) { if (TYPE(a) == T_DATA && RBASIC(a)->klass == r_ByteArray) { ByteArray *p; Data_Get_Struct(a, ByteArray, p); return rb_str_new((char*) p->data, p->length); } rb_raise(rb_eTypeError, "expected byte[]"); } |
Instance Method Details
#to_j_bytes ⇒ Object
4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 |
# File 'ext/primitive/primitive.c', line 4334 static VALUE r_String_to_j_bytes(VALUE self) { long len = RSTRING_LEN(self); if (len > 0x000000007FFFFFFFL) rb_raise(rb_eRangeError, "string too big"); int32_t n = (int32_t) len; char *data = RSTRING_PTR(self); ByteArray *p = xmalloc(sizeof(ByteArray) + sizeof(int8_t) * (size_t) n); if (p == NULL) rb_raise(rb_eNoMemError, "NoMemoryError"); p->length = n; int32_t i; for (i = 0; i < n; i += 1) p->data[i] = data[i]; return Data_Wrap_Struct(r_ByteArray, NULL, NULL, p); } |