30 lines
442 B
Go
30 lines
442 B
Go
package bluray
|
|
|
|
/*
|
|
#include <stdint.h>
|
|
*/
|
|
import "C"
|
|
import "unsafe"
|
|
|
|
func cStringToGoString(cStr *C.char) *string {
|
|
if cStr == nil {
|
|
return nil
|
|
}
|
|
str := C.GoString(cStr)
|
|
return &str
|
|
}
|
|
|
|
func getLanguageCode(langField [4]C.uint8_t) string {
|
|
isEmpty := true
|
|
for _, b := range langField {
|
|
if b != 0 {
|
|
isEmpty = false
|
|
break
|
|
}
|
|
}
|
|
if isEmpty {
|
|
return "und"
|
|
}
|
|
return C.GoStringN((*C.char)(unsafe.Pointer(&langField[0])), 3)
|
|
}
|