github.com/cristalhq/base64@v0.1.2/decoder_le.go (about)

     1  //go:build 386 || amd64 || amd64p32 || arm || arm64 || mipsle || mips64le || mips64p32le || ppc64le || riscv || riscv64 || wasm
     2  // +build 386 amd64 amd64p32 arm arm64 mipsle mips64le mips64p32le ppc64le riscv riscv64 wasm
     3  
     4  package base64
     5  
     6  import "unsafe"
     7  
     8  func putTail(ptr uintptr, tail *[4]byte, n int) {
     9  	switch n {
    10  	case 3:
    11  		*(*byte)(unsafe.Pointer(ptr)) = tail[0]
    12  		*(*byte)(unsafe.Pointer(ptr + 1)) = tail[1]
    13  		*(*byte)(unsafe.Pointer(ptr + 2)) = tail[2]
    14  	case 2:
    15  		*(*byte)(unsafe.Pointer(ptr)) = tail[0]
    16  		*(*byte)(unsafe.Pointer(ptr + 1)) = tail[1]
    17  	case 1:
    18  		*(*byte)(unsafe.Pointer(ptr)) = tail[0]
    19  	}
    20  }