aboutsummaryrefslogtreecommitdiff
path: root/common/native/src/main/scala/http/ArrayUtils.scala
blob: 00c106797f1168054f206a0e61bdae8c7011a84a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package triad
package http

import scala.scalanative.native._

object ArrayUtils {

  def toBuffer(array: Array[Byte])(implicit z: Zone): Ptr[Byte] = {
    val buffer = z.alloc(array.size)
    var i = 0
    while (i < array.size) {
      buffer(i) = array(i)
      i += 1
    }
    buffer
  }

  def toArray(buffer: Ptr[Byte], size: CSize): Array[Byte] = {
    val array = new Array[Byte](size.toInt)
    var i = 0
    while (i < array.size) {
      array(i) = buffer(i)
      i += 1
    }
    array
  }

}