Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1011 B
52 lines
1011 B
/* |
|
* XZ decompressor utility functions |
|
* |
|
* Author: Michael Cross <https://github.com/xi2> |
|
* |
|
* This file has been put into the public domain. |
|
* You can do whatever you want with this file. |
|
*/ |
|
|
|
package xz |
|
|
|
func getLE32(buf []byte) uint32 { |
|
return uint32(buf[0]) | |
|
uint32(buf[1])<<8 | |
|
uint32(buf[2])<<16 | |
|
uint32(buf[3])<<24 |
|
} |
|
|
|
func getBE32(buf []byte) uint32 { |
|
return uint32(buf[0])<<24 | |
|
uint32(buf[1])<<16 | |
|
uint32(buf[2])<<8 | |
|
uint32(buf[3]) |
|
} |
|
|
|
func putLE32(val uint32, buf []byte) { |
|
buf[0] = byte(val) |
|
buf[1] = byte(val >> 8) |
|
buf[2] = byte(val >> 16) |
|
buf[3] = byte(val >> 24) |
|
return |
|
} |
|
|
|
func putBE32(val uint32, buf []byte) { |
|
buf[0] = byte(val >> 24) |
|
buf[1] = byte(val >> 16) |
|
buf[2] = byte(val >> 8) |
|
buf[3] = byte(val) |
|
return |
|
} |
|
|
|
func putLE64(val uint64, buf []byte) { |
|
buf[0] = byte(val) |
|
buf[1] = byte(val >> 8) |
|
buf[2] = byte(val >> 16) |
|
buf[3] = byte(val >> 24) |
|
buf[4] = byte(val >> 32) |
|
buf[5] = byte(val >> 40) |
|
buf[6] = byte(val >> 48) |
|
buf[7] = byte(val >> 56) |
|
return |
|
}
|
|
|