Ejemplo n.º 1
0
oop_t ByteVectorObj::clone_for_int32(int32 i, ByteVectorObj** addrp) {
  ByteVectorObj* addr;
  oop_t new_bv = clone_and_resize(sizeof(int32), 0, &addr, false);
  if (addrp) *addrp = addr;

  *((int32*) bytes()) = i;

  return new_bv;
}
Ejemplo n.º 2
0
oop_t ByteVectorObj::clone_for_C_string(char* cString, ByteVectorObj** addrp, fint length) {
  fint n = (length == -1) ? length_of_C_string(cString)
                          : length;
  
  ByteVectorObj* addr;
  oop_t new_bv = clone_and_resize(n, 0, &addr, false);
  if (addrp) *addrp = addr;
  
  char *srcp = cString, *dstp = addr->bytes(), *endp = cString + n;
  while (srcp != endp)
    *dstp++ = *srcp++;
  
  return new_bv;
}